将几个文件连接 c语言 单片机
答案:1 悬赏:40 手机版
解决时间 2021-04-10 23:48
- 提问者网友:听门外雪花风
- 2021-04-10 20:30
有3个文件:main.c a.c a.h 写单片机程序时在keil里为什么是这么连接文件的:在main.c里写#include "a.h" 在a.c里面写#include "a.h" 。学C语言时用VC写的时候是这样的:在main.c里写#include "a.c" 在a.c里面写#include "a.h"。。。。keil里写不应该在main.c里写#include "a.c"吗?
最佳答案
- 五星知识达人网友:等灯
- 2021-04-10 21:44
#include“a.c”的意思就是将a.c里面的代码复制到 #include所在的位置,这样编译 的话,a.c就不能包含到keil工程里,否则就出现同样的函数编译两次。而且a.c只能被调用一次,没调用一次就会编译一次。会重复编译。所以a.c最好不要被调用,而是放进keil中单独编译,如果想用其中的函数和变量,可以声明。
比如a.c中含有 int a;
那么main.c想读写这个变量 只要在开头加一句 extern int a;而且extern int a;写多少次都没事
这样main.c就可以用了,而不需要再次int a会重复。
而a.c中的全局变量很多,不可能每次某个.c想用就extern 一次,所以a.h的作用就是把所有的extuern变量写在里面。然后在#include“a.h”将里面的内容替换到头文件位置,效果一样。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯