1、如何提高 C 语言代码效率如何提高 C 语言代码效率 2012-5-6 15:55:00 | By: 吴师傅 25推荐代码效率包括两个方面内容:代码的大小和代码执行速度。如果代码精简和执行速度快,我们就说这个代码效率高。一般情况下,代码精简了速度也相应提上来了。单片机的 ROM 和 RAM 的空间都很有限,当您编程时遇到单片机的 ROM 和 RAM 的不够用的时候,或者您的程序要求较高的执行速度时,我们就得面对解决代码效率问题了。如何提高代码效率?现笔者以一个 LED 闪烁的程序为例与您探讨。i nclude/包含头文件sbit led=P20;/定义位变量 led,使其关联单片机管脚 P2.
2、0void Delayms(unsigned int t);/声明延时函数int main(void)/主函数(C 语言程序入口函数)while(1)led=0;/P2.0 拉低,点亮 LEDDelayms(500);/调用延时函数,延时 500 毫秒led=1;/P2.0 拉高,熄灭 LEDDelayms(500);/调用延时函数,延时 500 毫秒return 0;void Delayms(unsigned int t)/定义延时函数unsigned int i,j;for(i=0;i0;i-)for(j=120;j0;j-);/大约延时 1 毫秒编译后,程序代码变成了 65 个字节,减少
3、了 2 个字节。通过改换运算符能达到精简代码的例子还有:1.把求余运算表达式改为位与运算表达式。如:b=a%8 可以改为:b=a实际上等效于以下的ifelse 结构:if (ab) c=a+1;else c=b+1;可以看到,使用问号表达式,语句相当简洁,但它的执行效率却很低,远没有 ifelse 语句效率高。所以,当您的程序要求提高执行速度的话,建议您不要使用问号表达式了。另外,dowhile 语句也比 while 语句的效率高。代码的效率问题,不是我们编程中的主要问题,除了程序要求较高的执行速度或者单片机的 ROM 和 RAM 不够用的时候才会考虑。一般情况下,我们不用在乎。如果您一味追求高效率的代码,可能会影响代码的可读性和可维护性。