在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 針對(duì)嵌入式SoC應(yīng)用的C編程優(yōu)化

            針對(duì)嵌入式SoC應(yīng)用的C編程優(yōu)化

            作者: 時(shí)間:2012-05-02 來源:網(wǎng)絡(luò) 收藏

            13. 編寫簡(jiǎn)單易懂的代碼

            編譯器擅長(zhǎng)創(chuàng)建復(fù)雜的優(yōu)化,比如函數(shù)嵌入和在適當(dāng)?shù)臅r(shí)候循環(huán)體展開。但編譯器不擅長(zhǎng)簡(jiǎn)化代碼,他們不會(huì)合并循環(huán)或者不用函數(shù)嵌入。在源程序中為了支持某些處理器架構(gòu)進(jìn)行的手工的循環(huán)體展開會(huì)降低程序的可移植性,因?yàn)檫@阻止了編譯器自動(dòng)為其他的處理器架構(gòu)進(jìn)行正確的循環(huán)體展開和函數(shù)嵌入。

            14. 避免編寫參數(shù)數(shù)量可變的函數(shù)

            如果一定要這么做,使用ANSI標(biāo)準(zhǔn)方法:stdarg.h.。使用數(shù)據(jù)表替代if-then-else或者switch分支處理。比如考慮下面代碼:

            typedef enum { BLUE, GREEN, RED, NCOLORS } COLOR;

            替代

            switch (c) {

            case CASE0: x = 5; break;

            case CASE1: x = 10; break;

            case CASE2: x = 1; break;

            }

            使用

            static int Mapping[NCOLORS] = { 5, 10, 1 };

            ...

            x = Mapping[c];

            15. 依靠libc函數(shù)庫(比如:strcpy、strlen、strcmp、bcopy、bzero、memset和memcpy)。這些函數(shù)是經(jīng)過精心優(yōu)化的。

            表1:一些XCC C/C++編譯器優(yōu)化開關(guān)
            15.jpg

            本文小結(jié)

            編譯器設(shè)計(jì)者已經(jīng)開發(fā)了很多復(fù)雜的優(yōu)化功能以使最新的處理器獲得最大的性能,并且他們還在繼續(xù)開發(fā)更智能的優(yōu)化算法。應(yīng)用程序開發(fā)人員可以通過使用恰當(dāng)?shù)木幊桃?guī)則來盡可能多地利用編譯器的這些優(yōu)化功能。

            linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


            關(guān)鍵詞: SoC 嵌入式 編程優(yōu)化

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉