1. gzyueqian
      18529173453

      嵌入式C語言循環條件介紹 粵嵌嵌入式培訓哪里好?

      更新時間: 2019-04-01 14:58:52來源: 嵌入式培訓瀏覽量:5373

        現在的企業對嵌入式軟件工程師定位差別也較大,主要是因為大家對嵌入式軟件工程師職責還不太了解。而從事嵌入式軟件開發必然離不開C語言的支撐。嵌入式C語言培訓如何?今天我們先來談論下循環條件。

        嵌入式C語言培訓中,計數循環是程序中十分常用的流程控制結構。在C與驗證宏,常用下面累加計數的循環形式:

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

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

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

        這兩種循環形式在邏輯上并沒有效率差異,但是映射到具體的體系結構中時,就產生了大大是不同。

        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

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

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


      免費預約試聽課

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

      
      

      1. 一二三区在线播放国内精品自产拍 | 中文乱码字幕国产中文乱码 | 香蕉国产精品偷在看视频 | 欧美亚洲精品免费 | 天天看精品动漫视频一区 | 亚洲一级精品视频在线观看 |