您的位置:首页 > 其它

嵌入式学习心得:关键字和宏定义

2016-12-20 22:45 169 查看
宏定义的作用:避免幻数,提高维护性,灵活。缺点在于傻瓜式替换

定义变量的三种方式:define const enum

宏函数和自定义函数优缺点;

自定义函数效率低,宏函数代码实现简单而且频繁调用,编译时间换空间

inline内敛函数;空间换执行时间,条件编译的作用:#ifdef 和 #ifndef: 防止头文件重复包含导致重复定义。

关键字:

register 把变量变成变成寄存器变量,请求编译器尽可能的把变量保存在寄存器中,提高运行效率

CPU 三大组成部分,

运算器, 控制器 存储器(寄存器)

频繁被访问的变量,用register 修饰

注意register 只能修饰局部变量,不能修饰全局变量和函数

register 变量不在内存中存储,所以不能用&取地址

register 修饰的变量必须是CPU所接受的

static关键字: static 只修饰局部变量,保存在数据区静态数据区,使这个局部变量生命周期延长到整个函数结束之后再释放。

static 修饰全局变量(静态函数)只能在本文件上访问,不能在其他文件访问。

static 既可以修饰变量,又可以修饰函数。

extern 关键字:外部声明,声明变量在外部定义;声明变量在其他的文件定义当前文件可以访问。

const 只读变量,修饰变量名,不是修饰对应的空间。

作用:const 离谁近,谁就不能变

修饰变量的初始化值要给变量

volatile 关键字: (硬件)

防止编译器优化

评价一个函数优先考虑一下两个方面:

入口函数检查:

有无const函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: