首页 | 嵌入式系统 | 显示技术 | 模拟IC/电源 | 元件与制造 | 其他IC/制程 | 消费类电子 | 无线/通信 | 汽车电子 | 工业控制 | 医疗电子 | 测试测量
首页> 分享下载> 消费类电子> C语言高效编程的几招.pdf

C语言高效编程的几招.pdf

资料介绍
C语言高效编程的几招C 语言高效编程的几招
编写高效简洁的 C 语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验 做相关的阐述,不对的地方请各位指教。

第 1 招:以空间换时间

计算机程序中最大的矛盾是空间和时间的矛盾, 那么, 从这个角度出发逆向思维来考虑程序的效 率问题,我们就有了解决问题的第 1 招--以空间换时间。

例如:字符串的赋值。

方法 A,通常的办法:

#define LEN 32

char string1 [LEN];

memset (string1,0,LEN);

strcpy (string1,"This is an example!!"

方法 B:

const char string2[LEN]="This is an example!"

char*cp;

cp=string2;

(使用的时候可以直接用指针来操作。)

从上面的例子可以看出,A 和 B 的效率是不能比的。在同样的存储空间下,B 直接使用指针就 可以操作了,而 A 需要调用两个字符函数才能完成。B 的缺点在于灵活性没有 A 好。在需要频

繁更改一个字符串内容的时候, A 具有更好的灵活性; 如果采用方法 B, 则需要预存许多字符串, 虽然占用了 大量的内存,但是获得了程序执行的高效率。

如果系统的实时性要求很高,内存还有一些,那我推荐你使用该招数。

该招数的边招--使用宏函数而不是函数。举例如下:

方法 C:

#define bwMCDR2_ADDRESS 4

#define bsMCDR2_ADDRESS 17

int BIT_MASK (int_bf)

{

return ((IU<<(bw##_bf))-1)<<(bs##_bf);

}

void SET_BITS(int_dst,int_bf,int_val)

{

_dst=((
标签: 语言高效编程的几
C语言高效编程的几招.pdf
本地下载

评论