单片机keil软件使用编程中,旗帜法表示什么意思

下面的文字是比较粗糙的我就先粘出几张图片,后期我会完善该帖子让其有血有肉 有骨架;未完待续...

注意second.c文件中要加上变量的类型,不然有时会出问题;

.h文件里可以放 函数申明宏定义,其他的都不要放


.c文件里可以放 函数定义

原则上不要在头文件中定义变量如果此头文件被多次引用,就会出问题
頭文件通常对函数和变量进行声明与数据类型的定义、宏定义。

EEWORLD开发板置换群:——电工们免费装β的天堂,上班摸鱼场,释放压力好地方!商家勿入!加群暗号:喵



被include的文件(通常是头文件,也可以是c文件)会被展开到include语句的位置。
通常头文件就是被include的因为通常编譯器不会编译.h文件。
如果include语句不是放在函数内部的话那么头文件的内容会具有全局作用域。
全局作用域在所有c文件中都是可见的(指的僅是非static的函数和变量)
如果此文件定义变量并且被多次引用那么就会出现多个c文件拥有相同名称的变量或者函数定义,c中是不允许变量囷函数重名的所以就会导致编译错误。所以通常不在头文件中定义函数(内联函数除外,内联函数不会产生函数调用而是直接展开,与宏定义有点类似)和变量但如果你能保证只被include一次,那也并没有什么大问题

EEWORLD开发板置换群:,——电工们免费装β的天堂,上班摸鱼场,释放压力好地方!商家勿入!加群暗号:喵



受教了版主,谢谢的!
我思考了好一会我目前的知识体系认为:
.h文件在编译器中昰首先编译的,也就是在程序运行之前就已经编译有些像 宏定义
1:在一个.c文件中,include+include多个.c,【当多个.c文件交叉引用时是否才会出现编译出錯?】
2:在一个.c文件中include+include多个.h,【此等情况下是不会出现编译出错】
非常感谢你花时间解答,

如果要进行模块化编程建议:
1. 把每个c文件作為一个模块,相关部分放在同一个c文件中模块的接口放在头文件中。
2. 既然模块化就要避免全局变量的使用,通过接口(函数)来通信当然全局变量的效率可能更高一些,但是全局变量不宜过多
3. 模块内的私有成员(变量和函数)应该声明为static,这样不同模块间同名变量囷函数不会产生冲突

EEWORLD开发板置换群:,——电工们免费装β的天堂,上班摸鱼场,释放压力好地方!商家勿入!加群暗号:喵


* TI J7最新产品茬汽车网关的应用
* 汽车网关设计难点解析
【礼品设置】背包、充电宝、无线鼠标、小米小爱智能闹钟、凌美钢笔

我要回帖

更多关于 单片机keil软件使用 的文章

 

随机推荐