Domanda

External variables are not listed by "nm" command because they have been declared as extern so memory for them will not be allocated in this program. Is there any other way to list extern variables? Where stored information about external variables declaration?

os windows 7 compiler mingw or vs2010

È stato utile?

Soluzione

They will be there, marked U for undefined.

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

Gives:

g++ -c test.cc
nm test.o
00000000 T _Z3barv
         U foo

Note that bar is needed for this example to work. If the variable is unused no reference will be generated in the output.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top