静态 link ld.so (ld.a?)

Statically link ld.so (ld.a?)

我正在开发一个资源非常低的嵌入式系统,使用 linux 内核作为 OS。有任何发行版或 POSIX/GNU 工具链,只有加载到内存中的内核和自定义初始化进程。

到目前为止,我一直在使用静态 linked 二进制文件,但现在我也需要共享对象。为了保持简单并节省资源,我需要 ld.so 功能在每个二进制文件中静态 linked。

是否存在允许我在我的应用程序中静态 link 共享对象加载器的便携式解决方案?

您可能需要静态链接 libdl.so,即一些(假设的)libdl.a(这可能需要加载共享库 ld.so

但我认为你应该考虑其他方式,例如使用一个小的 musl-libc 提供它自己的 libdl 等等...你可能可以定制它(所以有一个 musl libc.so 适合你的需要)只包含目标文件和 API 是你需要的。