『壹』 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信息