头文件myhead.h 中定义了全局变量:
union unit16{
struct bit_def{
char b0:1;
....
char b15:1;
}bit;
unsigned int word ;
};
union unit16 ControlR;
#define AO1 ControlR.bit.b0
#define AO2 ControlR.bit.b1
......
在主程序和子程序中都加上
#include myhead.h
编译时提示ControlR重复定义, 而编译器自带的一个头文件sfr.h也有类似的8位的联合体定义,在所有的程序中#include sfr.h都不会有问题。
请教为什么? 我该如何修改?如果加上条件编译,要怎么写? 如果在.h文件中只做变量声明,在.c文件中定义全局变量,又该怎么写?谢谢!