C51:解决ERROR L104: MULTIPLE PUBLIC DEFINITIONS
·
比如你要写一个模块,fun.c、fun.h
如果你在这个模块里定义一个内部的全局变量(只在模块内是全局的),那么就直接定义和声明在fun.h中即可。
但是如果你需要一个全局变量,在这个模块被其他地方引用的时候也能奏效的话,那么你应该在fun.c中定义,并在fun.h声明即可。无需在其他文件中声明和定义这个变量。
//fun.c
unsigned char leds[8]=0;
//fun.h
extern unsigned char leds[8]; //.h内不能初始化
extern的意思是,我已经在别的文件里定义了,你在这声明一下不要定义就好。
如果只是在模块内使用,还是除了这一的问题的话,那么就定义成静态的。
//fun.h
static unsigned char table[7]={0x3f , ... };
更多推荐
已为社区贡献1条内容
所有评论(0)