共享常量数据段

Shared const data segment

我们必须在进程之间共享大量编译时已知数据。是否可以放入共享库的 .rodata 部分?这样做的实际步骤是什么?

Is it possible to put into .rodata section of a shared library?

是的。

What are the practical steps to do so?

如果您声明数据 const,编译器应该已经为您完成。
如果 还没有发生,请使用 MCVE 提出一个单独的问题。

或者您的意思是:“我有一个数据文件,我想将 逐字 包含到我的 foo.so 中,而不先将该数据转换为 C -样式数组并编译它?

在这种情况下,请执行以下操作:

// foo.S
    .globl foo_data
    .section .rodata
foo_data:
    .incbin "foo.data"

foo.S 和 link 编译到您的共享库中。