请问大家是在keil怎么定义全局变量的,当几个.C文件想同时调用定义在.H文件里面的全局

2020-02-01 16:25发布

先谢谢了!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
lollipop
1楼-- · 2020-02-01 17:39
定义在.H文件里面的全局变量的时候...

变量定义不要放在头文件里。

在C文件里定义,在头文件里extern
richey07
2楼-- · 2020-02-01 20:34
module1.h
extern int iCounts;

module1.c
int iCounts;

moudule2.c
moudule3.c
#include "moudule1.h"
asdasd
3楼-- · 2020-02-01 23:46
先谢谢楼上的两位朋友!
以2楼朋友的例子,先在.H文件里面声明extern,然后在一个需要调用此变量的.C定义此变量,但请问在module1.C已经定义,在其他module2.c和module3.c用到此变量时还需定义一次吗?还是只需#includes "module1.h"即可?
z7001
4楼-- · 2020-02-02 03:23
mark
lollipop
5楼-- · 2020-02-02 04:21
 精彩回答 2  元偷偷看……
liaowei
6楼-- · 2020-02-02 05:00
首先,定义只许一次,否则会出错,
extern unsigned char a;
这叫外部引用,扩宽这个变量的作用域。
我一般是在具体的函数内部才使用extern引用进来,否则,在开头处引用的话都不知道该文件哪个函数使用了该变量,很不方便

一周热门 更多>