在写C代码的时候,经常需要在头文件中包含有些预定义的信息。比如一些结构体的声明,外部变量,函数的声明等。
有时候觉得有必要在头文件中定义一些变量,这样在源文件中就不需要定义了。但是这样做,有很大的问题。
比如
[cpp] view plain copy
//test.h
1 #ifndef _TEST_H
2 #define _TEST_H
3 int x;
4 const char *name = “hhcn”;
5 #endif
~
[cpp] view plain copy
//test.c
#include “test.h”
[cpp] view plain copy
//main.c
1 #include