- 相關(guān)推薦
c語(yǔ)言空間換時(shí)間優(yōu)化代碼的技巧方法
C語(yǔ)言8個(gè)實(shí)用方法代碼優(yōu)化,選擇合適的算法和數(shù)據(jù)結(jié)構(gòu),選擇一種合適的數(shù)據(jù)結(jié)構(gòu)很重要,如果在一堆隨機(jī)存放的數(shù)中使用了大量的插入和刪除指令,那使用鏈表要快得多。下面是小編整理的c語(yǔ)言空間換時(shí)間優(yōu)化代碼的技巧方法,僅供參考,大家一起來(lái)看看吧。
比如說(shuō)字符串的賦值:
方法A:通常的辦法
#define LEN 32
char string1 [LEN];
memset (string1,0,LEN);
strcpy (string1,"This is a example!!");
方法B:
const char string2[LEN] ="This is a example!";
char * cp;
cp = string2 ;
使用的時(shí)候可以直接用指針來(lái)操作。
從上面的例子可以看出,A和B的效率是不能比的。在同樣的存儲(chǔ)空間下,B直接使用指針就可以操作了,而A需要調(diào)用兩個(gè)字符函數(shù)才能完成。B的缺點(diǎn)在于靈活性沒(méi)有A好。在需要頻繁更改一個(gè)字符串內(nèi)容的時(shí)候,A具有更好的靈活性;如果采用方法B,則需要預(yù)存許多字符串,雖然占用了大量的內(nèi)存,但是獲得了程序執(zhí)行的高效率。
如果系統(tǒng)的實(shí)時(shí)性要求很高,內(nèi)存還有一些,那我推薦你使用該招數(shù)。
方法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=((_dst) & ~ (BIT_MASK(_bf)))I
(((_val)<<<(bs##_bf))&(BIT_MASK(_bf)))
}
SET_BITS(MCDR2,MCDR2_ADDRESS,RegisterNumb
er);
【c語(yǔ)言空間換時(shí)間優(yōu)化代碼的技巧方法】相關(guān)文章:
c語(yǔ)言空間換時(shí)間優(yōu)化代碼的方法05-24
如何優(yōu)化C代碼03-28
C語(yǔ)言優(yōu)化小技巧04-13
PHP代碼優(yōu)化技巧05-29
C語(yǔ)言精簡(jiǎn)代碼01-26
嵌入式C語(yǔ)言優(yōu)化技巧03-11
PHP調(diào)用的C代碼技巧06-27
PHP調(diào)用C代碼的方法05-09