C++ GCC/Clang编译器如何决定符号类型?
我对二进制(已经剥离)显示泄露机密信息的符号有问题。当我看二进制时,所有关注的符号都是C++ GCC/Clang编译器如何决定符号类型?,c++,static-linking,C++,Static Linking,我对二进制(已经剥离)显示泄露机密信息的符号有问题。当我看二进制时,所有关注的符号都是T、D或S类型之一 既然二进制文件是静态链接的(使用使用不同名称空间的外部静态lib),我不禁要问,为什么这些符号是全局的,为什么ld/strip没有将它们从符号表中删除 所以有两个相关的问题: 编译器/链接器如何决定哪些符号是全局的 有没有办法确保编译器/链接器不导出这些符号 “是否有办法确保编译器/链接器不导出这些符号?”-哪些符号?您能展示演示该问题的示例源代码吗?或者解释项目中的符号。@JohnZwi
T
、D
或S
类型之一
既然二进制文件是静态链接的(使用使用不同名称空间的外部静态lib),我不禁要问,为什么这些符号是全局的,为什么ld/strip没有将它们从符号表中删除
所以有两个相关的问题:
- 编译器/链接器如何决定哪些符号是全局的
- 有没有办法确保编译器/链接器不导出这些符号