UNIX共享库可以合并到一个库中吗?

时间:2013-02-20 18:27:27

标签: unix shared-libraries

我正在尝试自己的BSD或Linux发行版。我想以对最终用户有意义的方式组织系统文件。我希望他们可以访问系统,而不会出现* nixes留下的所有文件混乱。

有没有办法将多个动态库合并到一个文件中而不会丢失动态链接?我将可以访问所有源文件。

1 个答案:

答案 0 :(得分:3)

它可能与系统有关,但至少对于ELF(Linux使用的可执行格式),这是不可能的。使用ELF,共享库有点像可执行文件:它们是链接过程的最终产品,并不是为了分解或重新链接到不同的安排。

如果您拥有进入一堆共享库的所有组件的源代码,我想您可以将它们全部链接到一个巨大的共享库中,但您可以使用目标文件(*.o)或归档库(*.a)作为生成此类库的输入。

正如评论中所提到的,实际上不太可能有理由这样做。