标题:
C语言优化小技巧
[打印本页]
作者:
edu118gct
时间:
2014-3-25 15:23
标题:
C语言优化小技巧
在编写
C
语言程序后,经常需要对源码进行优化,以提高程序的运行效率,下面简述几个常用的优化技巧以供大家参考:
1.C
于代码在程序中的优化
现在的
C
编译器会自动对代码进行优化,但这些优化是对执行速度和代码长度的平衡。如果要获得更小且执行效率更高的代码,需要程序员手工对代码进行优化。
2.
变量类型的定义
不同的数据类型所生成的机器代码长度相差很多,变量类型选取的范围越小运行速度越快,占用的内存越少。能够使用
char(
字符型
)
定义的变量,就不要使用整型
(int)
变量定义
;
能够使用整型变量定义的变量就不要用长整型
(long int)
,能不使用浮点
(float)
变量就不要使用浮点型(
double
)变量。
相同类型的数据类型,有无符号对机器代码长度也有影响。因此我们应按照实际需要合理的选用数据类型。当然,在定义变量后不要超过变量的作用范围,如果超过变量的范围赋值,
C
编译器并不报错,但程序运行结果却错了,而且这样的错误很难发现。
3.
提高循环语言的效率
在
C
语言中循环语句使用频繁
,
提高循环体效率的基本办法就是降低循环体的复杂性。在多重循环中
,
应将最长的循环放在最内层,最短的循环放在最外层。这样可以减少
CPU
跨切循环的次数。如例
1-1
的效率比
1-2
的效率要高
:
int i,j;
for (i = 0; i < 10; i++)
{
for (j = 0; j < 20; j++)
{
... ...
}
} //
例子
1-1
for (j = 0; j < 20; j++)
{
for (i = 0; i < 10; i++)
{
... ...
}
} //
例子
1-2
4.
采用数学方法优化程序
数学是计算机之母,没有数学的依据和基础,就没有计算机的发展,所以在编写程序的时候,采用一些数学算法会对程序的执行效率有数量级的提高。有时候这个问题常常被大家忽略
,
对于没有经验的程序员来说更是如此。例如
:
求
1
到
100
的自然数和
sum = 100*(100+1)/2;
数学公式
. (n + 1)*n/2
。
优化算法和数据结构对提高代码的效率有很大的帮助。当然有时候时间效率和空间效率是对立的,此时应分析哪个更重要,做出适当的折中。另外
,
在进行优化的时候不要片面的追求紧凑的代码,因为紧凑的代码并不能产生高效率的机器码。
深圳、郑州、广州专业嵌入式、单片机技术实训,详情咨询郭老师
QQ754634522
当然代码优化的方法还有很多,这里只是简单列举几个例子
,
希望能为初学者提供一些帮助,同时也欢迎大家留言交流。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0