【问题标题】:Various representations of -Bstatic flags in ldld 中 -Bstatic 标志的各种表示
【发布时间】:2015-07-10 12:36:23
【问题描述】:

ld(来自binutils)的手册页中,有这部分是关于-Bstatic 标志的变体:

-B静态
-dn
-non_shared
-静态
不要链接到共享库。这仅在支持共享库的平台上才有意义。 此选项的不同变体是为了与各种系统兼容。您可以在命令行上多次使用此选项:它会影响库搜索后面的 -l 选项。此选项还暗示--unresolved-symbols=report-all。此选项可与 -shared 一起使用。这样做意味着正在创建一个共享库,但必须通过从静态库中拉入条目来解析该库的所有外部引用。

我的问题是关于粗体的句子:这些变体究竟要兼容哪些系统?我在各种项目中都见过-Bstatic-static,但到目前为止还没有看到任何人使用剩下的两个变体。为了获得最大的兼容性(就跨平台而言),最好使用哪一个?

【问题讨论】:

    标签: linker binutils


    【解决方案1】:

    -Bstatic-static 选项当前被使用,并且相同:

    • -static 表示:执行一个完全静态的链接(完全没有使用共享库)。
    • -Bstatic 表示:对于任何跟随-lfoo,仅使用库的存档版本。

    其他选项:-dn(1993 年添加)和-non_shared(1994 年添加)用于与长期过时的操作系统兼容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-24
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-12-03
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多