我有这个源代码:
#include <iostream>
int snsn = 344;
int main()
{
int anothername = 29;
std::cout << &snsn << "\n";
system("pause");
}
在链接完最终图像文件后,我在文件上运行dumpbin /SYMBOLS source.exe
,但这就是输出:
Dump of file source.exe
File Type: EXECUTABLE IMAGE
Summary
1000 .00cfg
1000 .data
1000 .idata
3000 .rdata
1000 .reloc
1000 .rsrc
7000 .text
10000 .textbss
为什么它没有显示任何符号?
答案 0 :(得分:0)
Windows上的可执行文件通常不会导出符号。
dumpbin /EXPORTS <file>
可以在lib文件或dll上使用,以查看导出的符号。
要查看可执行文件使用的符号:
dumpbin /IMPORTS source.exe
即使可执行文件确实导出了符号,那么您的示例可能只会导出main
。 1}}等局部变量永远不会被导出。
anothername
显示COFF符号表,该表仅出现在调试图像文件中:https://msdn.microsoft.com/en-us/library/b842y285.aspx