c++17 内联变量将被 gcc 编译为唯一的符号。如果使用 clang 它将是一个弱符号。
我在Oracle Linker找到了符号绑定的文档,但其中没有唯一的绑定。那么唯一绑定是什么意思呢?
“独特符号”是较旧的 GCC hack。 Clang 不需要它们,GCC 也可以配置为不使用它们。
链接器通过不加载相同符号两次来处理它们,即将多个符号合并为一个。这可以防止定义它们的库被卸载,因为它可能是合并符号的源。