“nm”命令未列出外部变量,因为它们已声明为extern,因此不会在此程序中分配它们的内存。有没有其他方法列出外部变量?哪里存储了有关外部变量声明的信息?
os windows 7 编译器mingw或vs2010答案 0 :(得分:3)
他们将在那里,标记为未定义的。
extern int foo;
int bar() {
return foo++;
}
给出:
g++ -c test.cc nm test.o 00000000 T _Z3barv U foo
请注意,此示例需要bar
才能生效。如果变量未使用,则不会在输出中生成参考。