fjczd 当前离线
金牌会员
codewarrior下有两个.c文件,分别为eeprom.c和Evenrs.c.
现在要从eeprom.c中调用Evenrs.c中的某个变量,请问该如何用呢?
我现在在eeprom.c的开始定义了extern char sFlag;.编译时系统报错,说在Evenrs.c.中的sFlag没有定义.
这该如何解决呢?
程序见附件
订阅 TOP
luoman 当前离线
论坛元老
看看
TOP
我在C里面学过
不过好久不用了
全局变量一般在程序的开头定义 作用于整个程序
放在开头了,好像不行
我现在把它放到了.h文件里了,至少编译没报错.
不知道时不时该这样做
请各位高手发表意见
编译不报错 那就应该没有问题的 奇怪
编译虽然通过,但实际运行时,并不能把数据传过来.
看来还是存在问题
rowan 当前离线
注册会员
sFlag没有定义,只有声明。
光有extern char sFlag;这句是不会为变量sFlag分配内存的。
需要在Events.c中加入char sFlag;
需要在Events.c中的函数体外加入char sFlag;
应该是在Events.c中用 extern char sFlag吧
我现在是这么用的:
在Events.c中加入extern char 在eeprom中用sFlag,char sFlag;
调试成功,运行也正确
fayefayehoo 当前离线
高级会员
调试是成功了,但是理解有错。11楼正解