gpt4 book ai didi

linux - 编译后添加 -fvisibility=hidden

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:51 37 4
gpt4 key购买 nike

我正在构建一个共享对象 (.so),并将其链接到第三方静态库。在理想情况下,该第三方库应该使用 -fvisibility=hidden 进行编译 - 但事实并非如此。

有没有办法避免在动态库导出的全局符号中包含该静态库定义的符号?

(如果重要的话,我在linux平台上使用gcc)

最佳答案

您可以控制通过 -Wl,--version-script=<version-script> 导出的符号.版本脚本看起来像

LIBMYLIB_1.0 {
global:
libmylib_foo; libmylib_bar;

local:
*;
};

(库符号将在 local 部分过滤)。

请注意,您仍应尽可能使用隐藏可见性(即使您启用了版本脚本),因为它允许编译器更好地优化。

关于linux - 编译后添加 -fvisibility=hidden,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38638179/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com