头文件中应该放入:
#1 函数原型声明
#2全局变量声明
这里说的是声明,不是定义。即:extern int global;
#3自己定义的宏和类型
而下列是不该放入的:
#1 全局变量和函数的定义
全局变量只能定义一次,如果把int global;这样的语句放在头文件中,那么所有包含这个头文件的地方都定义一次全局变量global,到了链接的时候链接程序就会报告找到多个global。函数的情形也是这个道理,因为函数的名字在全局空间里面也应该是唯一的。
#2 static 变量和 static 函数
这也是显然的,static本来就是防止全局可见的。