我需要静态库来静态链接吗?

Liran Orevi:

在Linux上的“ C”上,

我需要静态库来静态链接,还是需要足够的共享库?如果没有,为什么不呢?(它们不包含相同的数据吗?)

短暂的

是的,您需要静态库来构建静态链接的可执行文件。

静态库是编译对象的捆绑包。静态链接到库时,实际上与获取该库的编译结果,将它们解压缩到当前项目中以及将它们当作自己的对象使用一样。

动态库已链接。这意味着一些信息,例如重定位,已经被修复并丢弃。

此外,动态库必须编译为与位置无关的代码。这不是对静态库的限制,并且会导致某些常见平台(例如x86)的性能发生显着差异。

存在诸如ELF Statifier之类的工具,这些工具试图将动态链接的库捆绑到动态链接的可执行文件中,但是要在任何情况下都无法产生正确的结果是非常困难的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章