【发布时间】:2010-09-01 08:40:29
【问题描述】:
我面临一个奇怪的问题,但无法以较小的规模模拟它。问题是我的符号表有一个外部符号条目。这些在头文件中声明。在其他文件中定义 - header.c
头文件
header.h
extern void rlog(int , char*, ...);
extern int SetGDebug(string);
extern int GDebug;
test.cpp C++ 文件
#include <header.h>
nm -CA test.o | grep De
00000000 B GDebug
00000b70 t global constructors keyed to GDebug
00000070 T SetGDebug()
编译标志:-Wall -O2 -shared -fPIC -funroll-loops 编译器:g++
这正如预期的那样导致多次重新定义......
另一个小问题...
extern-nd 符号/函数是否进入目标文件的符号表?
【问题讨论】: