1. gzyueqian
      13352868059

      嵌入式C語言循環(huán)條件介紹 粵嵌嵌入式培訓(xùn)哪里好?

      更新時間: 2019-04-01 14:58:52來源: 嵌入式培訓(xùn)瀏覽量:5284

        現(xiàn)在的企業(yè)對嵌入式軟件工程師定位差別也較大,主要是因為大家對嵌入式軟件工程師職責(zé)還不太了解。而從事嵌入式軟件開發(fā)必然離不開C語言的支撐。嵌入式C語言培訓(xùn)如何?今天我們先來談?wù)撓卵h(huán)條件。

        嵌入式C語言培訓(xùn)中,計數(shù)循環(huán)是程序中十分常用的流程控制結(jié)構(gòu)。在C與驗證宏,常用下面累加計數(shù)的循環(huán)形式:

        for(loop=1,loop<=limit;loop++)

        而這種累加計數(shù)的方法符合一般的自然思維習(xí)慣,所以下面這種遞減方法很少使用:

        for(loop=limit;loop!=0;loop--)

        這兩種循環(huán)形式在邏輯上并沒有效率差異,但是映射到具體的體系結(jié)構(gòu)中時,就產(chǎn)生了大大是不同。

        int fact1 (int limit)                             int fact1 (int limit)

        {                                                                           {

        ...                                                                          …

        for (i=1;i<=limit;i++)                                              for (i=limit;i!=0;i--)

        (                                                                            {

        fact=fact*i;                                                             fact=fact*i;

        )                                                                                   }

        ...                                                                                 …

        }                                                                           }

        Fact1                                                                     Fact2

        ... ...                                                                             … …

        0x000010: MUL R2,R1,R2                                       0x000010: MUL R0,R1,R0

        0x000014: ADD R1,R1,#1                                       0x000014: SUBS R1,R1,#1

        0x000018: CMP R2,R0                                            0x00001C: BNE 0x10

        0x00001C: BLE 0x10                                              … …

        ... ...

        0x000024: MOV PC,LR

        從中可以發(fā)現(xiàn),累加法比遞減法多用了1條指令,當循環(huán)次數(shù)比較大時,這2段代碼就會在性能上產(chǎn)生明顯的差異。其本質(zhì)原因是:當進行一個非0常數(shù)比較時,必須用專門的CMP指令進行判別。因此,在ARM的體系結(jié)構(gòu)下編程,建議采用遞減至0的方法來設(shè)置循環(huán)條件。

        若你想通過正規(guī)的嵌入式C語言培訓(xùn)讓自己得到成長,了解嵌入式培訓(xùn)班哪家好是很關(guān)鍵的,在這個方面,粵嵌教育值得你考慮。


      免費預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 三上亚悠在线精品二区 | 一a在线视频插进去了 | 亚洲视频手机在线观看 | 欧洲国产又粗又猛又爽的视频 | 亚洲AV香蕉精品一区二区三区 | 在线观看AV网站麻豆 |