『壹』 keil C51语言编程如何缩减编译代码长度
这个问题真不是几句话能说清楚的。
主要应做到以下几点:
少用库函数,少用float,int 型变量,少用case语句,尽量写成for循环结构,程序采用模块化设计,优化程序,简化程序,养成良好的编程习惯。后四项其实很难做到。keil中C51标签下的程序代码优化级选项,选9级。
『贰』 如何解决keil中代码2K的限制
给你个注册码VG64Z-JZ2RR-1HQ5X-9E2XZ-FCJCG-J55J0
注册方法:打开keil,
点击file-license information
将注册码粘贴到new license id code中,
点击确定完成。
over
『叁』 keil c51优化等级介绍
一般用优化等级8,其它的别用,容易出事。
编译完之后多留意data,xdata,看有没超出芯片的最大值,
特别是data,不能超过128,甚至太接近128有时也会出问题。
如果data 需要使用到256,则另外的128用idata定义
『肆』 Keil优化及如何设置某段代码不优化
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级优化,以空间最小为主。
『伍』 用KEIL生成文件太大怎么解决
记得在KEIL的工程设置里面可以将一些不必要的信息给去掉,也就是不要勾选一些选项就可以了,比如Debug信息