keil C51语言编程如何缩减编译代码长度

 
 
1、整形数字符做乘除法的C51程序,代码比较大。约9B左右,所以尽量不做乘除法
       例如:uchar a=6;a=a*6;第二行代码要9个字节,而平时的语句只有2B。
2、定义变量的语句,不赋值或者不参与运算是不算代码的,能用短变量就用短变量,省RAM也省代码空间.
       例如:uchar a; 这句有没有代码长度不变。但是赋非0值 uchar  a=5;字符型,就要3B的代码长度
       uint  a=5;整形变量赋值要6B字节,比较大,所以能定义短变量就定义短变量。
       unsigned  long int  a=6.0;或者 long int  a=6.0;会增加9B的代码。赋值整数浮点数一样。
3、对长整形变量,有符号变量比无符号变量 参与自加运算时编译的代码要长,所以尽量使用无符号浮点数
      例如:long  a=2; a++;或者unsinged long  int  a=2;a++; 代码要短15个字节。a--自减短12个字节
     自加换做加赋值则代码长无区别。a+=2;两种定义没区别。
4、浮点数不要作乘除法运算,代码长度太大。代码会长出几百字节。太得不偿失了。最好用其他方式代替。
5、对同一种类似操作,应该放在一起写。如数据的运算,如果中间调用子程序再回来运算,代码会长很多。(出出进进能不大吗)
6、定义变量时赋值,紧接着下条再赋值一次,会缩短代码。例如:uint  a=2; a=2; 多余一条反而缩短了代码。
       例如:uint  a=3,b=3;   a=b;  虽然是多余的,但是上一句代码消耗就抵消了。相当于没有增加任何代码。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值