代码之家  ›  专栏  ›  技术社区  ›  Ibraim Ganiev

为什么我们需要gcc中的-rdynamic选项?[重复]

  •  3
  • Ibraim Ganiev  · 技术社区  · 8 年前

    默认情况下,所有符号都会导出到动态表中,那么我们为什么要使用 -rdynamic 旗帜即使我们通过属性隐藏了一些符号/ -fvisibility=hidden - -动态的 不会更改结果,也不会取消隐藏以前隐藏的符号。那么这有什么意义呢?

    1 回复  |  直到 8 年前
        1
  •  10
  •   yugr    6 年前

    默认情况下,符号仅从共享库导出。 -rdynamic 告诉链接器对可执行文件执行同样的操作。通常这是一个坏主意,但有时你想为动态加载的插件提供API,这样就方便了(尽管使用显式API要好得多) visibility annotations , version script 或 dynamic export file ).