C语言高效编程的第四招

来源:本站
导读:目前正在解读《C语言高效编程的第四招》的相关信息,《C语言高效编程的第四招》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《C语言高效编程的第四招》的详细说明。
简介:编写高效简洁的C 语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述。

汇编嵌入

高效C 语言编程的必杀技,第四招--嵌入汇编。

“在熟悉汇编语言的人眼里,C 语言编写的程序都是垃圾”。这种说法虽然偏激了一些,但是却有它的道理。汇编语言是效率最高的计算机语言,但是,不可能靠着它来写一个操作系统吧?所以,为了获得程序的高效率,我们只好采用变通的方法--嵌入汇编、混合编程。

举例如下,将数组一赋值给数组二,要求每一个字节都相符。char string1[1024], string2[1024];

方法Iint I;for (I=0; I<1024; I++)*(string2+I)=*(string1+I)

方法 J#int I;for(I=0; I<1024; I++)*(string2+I)=*(string1+I);#else#ifdef_ARM__asm{MOV R0,string1MOV R1,string2MOV R2,#0loop:LDMIA R0!,[R3-R11]STMIA R1!,[R3-R11]ADD R2,R2,#8CMP R2, #400BNE loop}#endif

方法I 是最常见的方法,使用了1024 次循环;方法J 则根据平台不同做了区分,在ARM 平台下,用嵌入汇编仅用128次循环就完成了同样的操作。这里有朋友会说,为什么不用标准的内存拷贝函数呢?这是因为在源数据里可能含有数据为0 的字节,这样的话,标准库函数会提前结束而不会完成我们要求的操作。这个例程典型应用于LCD 数据的拷贝过程。根据不同的CPU,熟练使用相应的嵌入汇编,可以大大提高程序执行的效率。

虽然是必杀技,但是如果轻易使用会付出惨重的代价。这是因为,使用了嵌入汇编,便限制了程序的可移植性,使程序在不同平台移植的过程中,卧虎藏龙、险象环生!同时该招数也与现代软件工程的思想相违背,只有在迫不得已的情况下才可以采用。切记。

提醒:《C语言高效编程的第四招》最后刷新时间 2024-03-14 01:01:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《C语言高效编程的第四招》该内容的真实性请自行鉴别。