C语言高效编程的4个方法.docx
《C语言高效编程的4个方法.docx》由会员分享,可在线阅读,更多相关《C语言高效编程的4个方法.docx(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言高效编程的4个方法 上海整形 上海整形医院 美白针 美白针价格编写高效简洁的C语言代码,是许多软件工程师追求的目标。本文就是针对编程工作中的一些体会和经验做相关的阐述。第一招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招-以空间换时间。比如说字符串的赋值:方法A:通常的办法#defineLEN32charstring1LEN;memset(string1,0,LEN);strcpy(string1,Thisisaexample!);方法B:constcharstring2LEN=Thisisaexamp
2、le!;char*cp;cp=string2;使用的时候可以直接用指针来操作。从上面的例子可以看出,A和B的效率是不能比的。在同样的存储空间下,B直接使用指针就可以操作了,而A需要调用两个字符函数才能完成。B的缺点在于灵活性没有A好。在需要频繁更改一个字符串内容的时候,A具有更好的灵活性;如果采用方法B,则需要预存许多字符串,虽然占用了大量的内存,但是获得了程序执行的高效率。如果系统的实时性要求很高,内存还有一些,那我推荐你使用该招数。该招数的变招-使用宏函数而不是函数。举例如下:方法C:#definebwMCDR2_ADDRESS4上海整形 上海整形医院 美白针 美白针价格#definebs
3、MCDR2_ADDRESS17intBIT_MASK(int_bf)return(1U(bw#_bf)-1)(bs#_bf);voidSET_BITS(int_dst,int_bf,int_val)_dst=(_dst)&(BIT_MASK(_bf)|/(_val)(bs#_bf)&(BIT_MASK(_bf)SET_BITS(MCDR2,MCDR2_ADDRESS,RegisterNumber);方法D:#definebwMCDR2_ADDRESS4#definebsMCDR2_ADDRESS17#definebmMCDR2_ADDRESSBIT_MASK(MCDR2_ADDRESS)#de
4、fineBIT_MASK(_bf)(1U(bw#_bf)-1)(bs#_bf)#defineSET_BITS(_dst,_bf,_val)/(_dst)=(_dst)&(BIT_MASK(_bf)|/(_val)(bs#_bf)&(BIT_MASK(_bf)SET_BITS(MCDR2,MCDR2_ADDRESS,RegisterNumber);函数和宏函数的区别就在于,宏函数占用了大量的空间,而函数占用了时间。大家要知道的是,函数调用是要使用系统的栈来保存数据的,如果编译器里有栈检查选项,一般在函数的头会嵌入一些汇编语句对当前栈进行检查;同时,CPU也要在函数调用时保存和恢复当前的现场,进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 高效 编程 方法
限制150内