0

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

4

1 回答 1

1

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

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

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

于 2013-03-14T06:13:11.357 回答