条件编译的问题//test.c#includetest.h //main.c#includetest.h intmain(){return0}//test.h#ifndeft
条件编译的问题
//test.c
#include "test.h "
//main.c
#include "test.h "
int main(){
return 0;
}
//test.h
#ifndef test_h
#define test_h
int a;
#endif
问题是为什么编译时还会出现重复定义的错误?
我的用法上有什么错误吗?
[解决办法]
"两个 C文件是先各自编译成 obj 文件,再 link 在一起的。 "
#ifdef等这些东西,在词法分析前就处理完了,叫预处理。
所以link的时候,会出现重复定义。
