第一代码编程效率: C51单片机编程效率,有代码效率,代码的书写风格,通过书写风格来提高编程效率。
第二代码编程效率: C语言编程效率没有汇编编程代码效率高,汇编是单片机底层 *** 作,直接 *** 作寄存器别C语言编程代码要高30%,但是汇编代码维护效率和开发效率低,C语言可以做二次开发,程序一直性好,易读性强程序员维护起来非常方面,目前现在公司招聘都是一C语言招聘。
Keil默认会对代码进行优化的一般情况缺省编译优化设置被设定为8级优化,实际最高可设定为9级优化。
1、Dead code elimination
2、Data overlaying
3、Peephole optimization
4、Register variables
5、Common subexpression elimination
6、Loop rotation
7、Extended Index Access Optimizing
8、Reuse Common Entry Code
9、Common Block Subroutines
如何设定不优化或改变某个文件的优化设置
1、针对某个文件
(1) 右键->Option for File XXXX
(2) 切换到【C51】选项卡
default表示与工程设置一致
2、针对某段代码(局部优化)
#pragma OPTIMIZE(x) x就是你希望的优化级别
举例如下:
#pragma OPTIMIZE(6)
void FunA()
{
}
......
......
#pragma OPTIMIZE(9)
void FunB()
{
}
上面的意思就是说,在void FunA()到void FunB()之前的所有函数,包括FunA在内,都采用6级的优化,而从FunB开始直到之后,只要没碰上#pragma OPTIMIZE,都采用9级优化了。
OPTIMIZE还可以多一个参数,就是speed和size,
用法: #pragma OPTIMIZE(9,speed)或#pragma OPTIMIZE(5,size)
对应的就是9级优化,以速度为主,或5级优化,以空间最小为主。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)