标题: C语言extern借用问题 [打印本页]

作者: SKYLAR123    时间: 2019-11-18 18:31
标题: C语言extern借用问题
我在函数A.C中定义unsigned int numw=0;
                               unsigned int numr=0;
在函数B.C中借用extern unsigned int numw;
                        extern unsigned int numr;
没用问题,在B.C中定义unsigned int numw=0;
                               unsigned int numr=0;
在A.C中借用就会出现引用错误外部函数



作者: SKYLAR123    时间: 2019-11-18 18:34
这是什么原因造成的,解决了一下午,才解决问题,compiling 时候没有错误,但KEILL未生成target
作者: SKYLAR123    时间: 2019-11-19 08:46
不要沉,顶上
作者: pcbboy    时间: 2019-11-19 11:04
我一般不追究这个问题,它在哪里能通过就放哪里,文件多了就不好处理,
找一个文件定义变量,别的文件调用。统一管理比较方便。
作者: SKYLAR123    时间: 2019-11-20 09:07
pcbboy 发表于 2019-11-19 11:04
我一般不追究这个问题,它在哪里能通过就放哪里,文件多了就不好处理,
找一个文件定义变量,别的文件调用 ...

也是,不纠结啦,能用就行
作者: MilkPower    时间: 2020-7-14 16:09
就例如:a.c 定义变量x, b.c也定义变量x, 在c.c中调用extern x变量,编译器就有两个选择,这应该是不允许的。以上是个人看法哈。
作者: f556    时间: 2020-7-15 09:54
我一般按include的顺序的定义全局变量,不用extern。觉得volitale有用,前久用了,结果有警告很麻烦
作者: univers    时间: 2020-7-15 16:29
只要记住一点,不管在那个模块里定义了变量,只要在你当前的模块里要借用其它模块里的变量,就要在当前模块上面声明 “extern 某某变量”
就比如小明家没有米了,小明要去小李家借两斤米。那你就要在小李家里说明,我在你家借两斤米。





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1