1. gzyueqian
      13352868059

      嵌入式培訓有關C語言中的小技巧——參數傳遞的學習

      更新時間: 2019-04-02 15:23:51來源: 嵌入式培訓瀏覽量:5588

        凡是從事IT行業的朋友或者同事,不管是做前端還是后臺,基本上都有在大學或者自己私底下學過C語言,但是卻對這門語言的認知很缺乏。學習嵌入式開發的人更能體會到C語言的重要性。今天嵌入式培訓帶大家學習的是C語言中的小技巧——參數傳遞。

        為了使用單獨編譯的C語言程序和匯編程序能夠互相調用,定義了統一的函數過程調用標準ATPCS。嵌入式培訓了解到,ATPCS定義了寄存器組中的{R0~R3}作為參數傳遞和結果返回寄存器。如果參數數目超過4個,則使用堆棧進行傳遞。由于內部寄存器的訪問速度遠遠大于存儲器,所以要盡量使參數傳遞在寄存器里面進行,即應盡量把函數的參數控制在4個以下。
        示例 匯編函數調用的參數傳遞。
        從C語言中直接調用匯編語言函數
        extern void strcopy(char *d,const char *s);
        int main(void){
        const       char src="Source";
        char dest[10];
        ...
        strcopy(dest,src);
        ...
        }
        AREA     StrCopy,CODE,READONLY
        EXPORT strcopy
        strcopy
        LDRB     R2,[R1],#1
        STRB      R2,[R0],#1
        CMP              R2,#0
        BNE              strcopy
        MOV             PC,LR
        END
        上面這個例子中的函數strcopy用匯編來實現,根據ATPCS的定義,函數參數從左到右由寄存器進行傳遞,所以在匯編中直接由R0和R1進行引用。這樣,在C語言和匯編語言之間進行調用就容易實現了。

        嵌入式C語言中的參數傳遞就講到這里,一般學C語言的時候,粵嵌嵌入式培訓會建議:大家學習C語言可以先在一個平臺上扎根,然后開始接觸這個平臺上,C語言用于處理各種東西的庫是怎樣的,并運用他們,熟悉他們,到了一定的積累程度后,你會發現C語言真的可以做很多事情。

      免費預約試聽課

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

      
      

      1. 日韩精品亚洲人旧成在线 | 一区二区三区高清视频精品 | 日本一区动图视频 | 亚洲变态在线播放 | 五月天久久综合一区 | 一本一道久久a久久精品综合 |