国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

C語言優(yōu)化小技巧

發(fā)布時(shí)間:2014-3-25 16:06    發(fā)布者:edu118gct
關(guān)鍵詞: C語言
  在編寫C語言程序后,經(jīng)常需要對(duì)源碼進(jìn)行優(yōu)化,以提高程序的運(yùn)行效率,下面簡(jiǎn)述幾個(gè)常用的優(yōu)化技巧以供大家參考:

1.C于代碼在程序中的優(yōu)化
  現(xiàn)在的C編譯器會(huì)自動(dòng)對(duì)代碼進(jìn)行優(yōu)化,但這些優(yōu)化是對(duì)執(zhí)行速度和代碼長(zhǎng)度的平衡。如果要獲得更小且執(zhí)行效率更高的代碼,需要程序員手工對(duì)代碼進(jìn)行優(yōu)化。

2.變量類型的定義
  不同的數(shù)據(jù)類型所生成的機(jī)器代碼長(zhǎng)度相差很多,變量類型選取的范圍越小運(yùn)行速度越快,占用的內(nèi)存越少。能夠使用char(字符型)定義的變量,就不要使用整型(int)變量定義;能夠使用整型變量定義的變量就不要用長(zhǎng)整型(long int),能不使用浮點(diǎn)(float)變量就不要使用浮點(diǎn)型(double)變量。
  相同類型的數(shù)據(jù)類型,有無符號(hào)對(duì)機(jī)器代碼長(zhǎng)度也有影響。因此我們應(yīng)按照實(shí)際需要合理的選用數(shù)據(jù)類型。當(dāng)然,在定義變量后不要超過變量的作用范圍,如果超過變量的范圍賦值,C編譯器并不報(bào)錯(cuò),但程序運(yùn)行結(jié)果卻錯(cuò)了,而且這樣的錯(cuò)誤很難發(fā)現(xiàn)。

3.提高循環(huán)語言的效率
  在 C 語言中循環(huán)語句使用頻繁,提高循環(huán)體效率的基本辦法就是降低循環(huán)體的復(fù)雜性。在多重循環(huán)中,應(yīng)將最長(zhǎng)的循環(huán)放在最內(nèi)層,最短的循環(huán)放在最外層。這樣可以減少 CPU跨切循環(huán)的次數(shù)。如例 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.采用數(shù)學(xué)方法優(yōu)化程序
  數(shù)學(xué)是計(jì)算機(jī)之母,沒有數(shù)學(xué)的依據(jù)和基礎(chǔ),就沒有計(jì)算機(jī)的發(fā)展,所以在編寫程序的時(shí)候,采用一些數(shù)學(xué)算法會(huì)對(duì)程序的執(zhí)行效率有數(shù)量級(jí)的提高。有時(shí)候這個(gè)問題常常被大家忽略, 對(duì)于沒有經(jīng)驗(yàn)的程序員來說更是如此。例如:1100的自然數(shù)和sum = 100*(100+1)/2; 數(shù)學(xué)公式. (n + 1)*n/2
  優(yōu)化算法和數(shù)據(jù)結(jié)構(gòu)對(duì)提高代碼的效率有很大的幫助。當(dāng)然有時(shí)候時(shí)間效率和空間效率是對(duì)立的,此時(shí)應(yīng)分析哪個(gè)更重要,做出適當(dāng)?shù)恼壑小A硗?font face="Arial">,在進(jìn)行優(yōu)化的時(shí)候不要片面的追求緊湊的代碼,因?yàn)榫o湊的代碼并不能產(chǎn)生高效率的機(jī)器碼。

  當(dāng)然代碼優(yōu)化的方法還有很多,這里只是簡(jiǎn)單列舉幾個(gè)例子,希望能為初學(xué)者提供一些幫助,同時(shí)也歡迎大家留言交流。

本文地址:http://m.qingdxww.cn/thread-128105-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點(diǎn)宏來節(jié)省時(shí)間和空間
  • Dev Tool Bits——使用DVRT協(xié)議查看項(xiàng)目中的數(shù)據(jù)
  • Dev Tool Bits——使用MPLAB® Data Visualizer進(jìn)行功率監(jiān)視
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: va亚洲va欧美va国产综合 | 草莓视频丝瓜视频下载 | 久久精品男人影院 | 4438a| 色欧美片视频在线观看 | 久热国产vs视频在线观看 | 欧美性动 | 国产一区二区三区毛片 | 亚洲一区二区三区精品视频 | 亚洲国产欧美在线观看 | 日本欧美一区二区三区免费不卡 | 久久99国产精品成人 | 亚洲人成一区二区三区 | 久久国产乱子伦精品免费强 | 经典三级在线播放线观看 | 欧美视| 国产一卡二卡3卡4卡更新 | 中文字幕无线码一区二区三区 | 国产免费福利体检区久久 | 啪一啪在线视频 | 花季传媒v3.024 | 欧美日韩中文在线 | 黄色网页在线免费观看 | 亚洲第一区精品日韩在线播放 | 久久久这里有精品999 | 一区二区不卡在线 | 久久手机视频 | 欧美黑大粗硬免费看 | 免费观看国产精品视频 | 国产欧美日韩不卡在线播放在线 | 黄色片免费在线 | 中文精品99久久国产 | 热久久免费视频 | 色综合久久久久久久 | 亚洲男人的天堂视频 | 成人午夜小视频手机在线看 | 久久国产免费 | 国产伦精品一区二区三区免费 | 亚洲伦理中文字幕 | 国产97公开成人免费视频 | 免费一级a毛片夜夜看 |