【问题标题】:Linking on AIX with -qnoweakexp在 AIX 上使用 -qnoweakexp 链接
【发布时间】:2012-04-05 08:28:16
【问题描述】:

使用 -qnoweakexp 选项链接共享库有哪些优点或缺点?

【问题讨论】:

    标签: aix xlc


    【解决方案1】:

    如果设置了 -qnoweakexp,则不会导出 weak symbols,这意味着您的共享库会更小(如果它有任何弱符号)。

    弱符号是用#pragma weak 标记的某个全局符号,或者编译器已确定是弱符号(例如,我认为标记为内联的函数可能被认为是弱符号)。 链接时,如果存在重复符号,通常第一个获胜,除非它很弱。顺序是:先强符号获胜,如果没有强符号,则先弱获胜。

    -qnoweakexp 构建您的共享库,没有任何标记为弱的符号。如果您的应用程序从未真正引用此共享库中的弱符号,那么使用此选项是有意义的,因为它会缩小它的大小。但是,如果您的应用程序实际上使用了弱符号(函数或变量),那么显然这个选项是个坏主意,因为符号解析会失败。

    【讨论】:

      猜你喜欢
      • 2010-09-26
      • 2015-06-21
      • 2019-01-11
      • 2013-04-02
      • 2010-12-12
      • 2011-04-08
      • 2016-07-04
      • 2015-03-06
      • 2011-03-08
      相关资源
      最近更新 更多