嵌入式系統編程中的全局變量的使用

 

 在嵌入式系統編程中,一般很少建議使用全局變量進行參數的傳遞,因爲全局變量將破壞函數的封裝性。並且會浪費一些內存,但是他至少還是有下面兩個好處:

1、節省了函數切換的開銷——參數的入棧、出棧

2、可以隨時檢測和控制內存的使用量,在編譯過程中就可以知道程序運行時將佔用多大的內存,如果使用堆或者是棧是不可能知道這些內容的。

全局變量是不可衝入的。

 

 

嵌入式系統中參數的傳遞方式:

當調用的函數的參數比較多的時候,調用者需要將參數放入內存中,使用指向內存地址的寄存器傳遞參數。在ARM體系結構下,一般來說,傳遞參數將使用4個寄存器,當寄存器使用不夠時,就需要使用棧了。

在ARM處理器中,傳遞的參數的個數小於4,就是利用R0~R4寄存器進行傳遞,大於4個,就要利用入棧和出棧的操作了!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章