回复 6楼 rjsp
a.cpp 中定义了 static void foo( void ) { putchar('a'); }; void bar( void ) { foo(); }
b.cpp 中也定义 static void foo( void ) { putchar('b'); }; int main( void ) { foo(); }
编译a.cpp得到a.obj,编译b.cpp得到b.obj,链接a.obj+b.obj得到h.exe,一切都可很完美。
因为a.obj只知道自己有个foo定义,同样b.obj也只知道自己有个foo定义。
看了您这段话,那么a.cpp中和b.cpp中foo函数不是同一个把,他们应该不共用一个内存空间,对吗