弱符号绑定和唯一符号绑定有什么区别?

问题描述 投票:0回答:1

c++17 内联变量将被 gcc 编译为唯一的符号。如果使用 clang 它将是一个弱符号。

我在Oracle Linker找到了符号绑定的文档,但其中没有唯一的绑定。那么唯一绑定是什么意思呢?

c++ elf
1个回答
0
投票

“独特符号”是较旧的 GCC hack。 Clang 不需要它们,GCC 也可以配置为不使用它们。

链接器通过不加载相同符号两次来处理它们,即将多个符号合并为一个。这可以防止定义它们的库被卸载,因为它可能是合并符号的源。

© www.soinside.com 2019 - 2024. All rights reserved.