0

“nm”命令未列出外部变量,因为它们已被声明为 extern,因此在此程序中不会为它们分配内存。有没有其他方法可以列出外部变量?关于外部变量声明的信息存储在哪里?

os windows 7 编译器 mingw 或 vs2010

4

1 回答 1

3

它们会在那里,标记为 U 表示未定义。

extern int foo;
int bar() {
  return foo++;
}

给出:

g++ -c 测试.cc
纳米测试.o
00000000 T _Z3barv
         你富

请注意,bar此示例需要它才能工作。如果变量未使用,则不会在输出中生成引用。

于 2012-08-14T10:48:23.170 回答