在ld
的联机帮助页(来自binutils)中,有关于-Bstatic
标志的变体的这一部分:
我的问题是关于粗体的一句话:这些变体到底想在哪些系统上兼容?我在各种项目中都看到了-Bstatic
和-static
,但是到目前为止,还没有人使用剩下的两个变体。为了获得最大的兼容性(就跨平台而言),最好使用哪个?
最佳答案
当前使用的是-Bstatic
和-static
选项,它们是不同的:
-static
的意思是:执行一个完全静态的链接(根本不使用共享库)。 -Bstatic
的意思是:对于随后的任何-lfoo
,仅使用库的归档版本。 其他选项:
-dn
(于1993年添加)和-non_shared
(于1994年添加)是为了与长期淘汰的OS兼容。关于linker - ld中-Bstatic标志的各种表示形式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31340946/