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/

    10-12 00:42