參考:
博文01:
博文02:參考:《嵌入式系統高階c語言程式設計》 ,這本書有空好好看看
1. 記憶體分配方式
(1)從全域性儲存區(靜態儲存區)分配。
何時分配:程式編譯時
生存週期:整個程式執行期間
例子:全域性變數、static變數
(2)在棧(stack)上建立。
何時分配:函式執行時
生存週期:變數作用域期間
(3)在堆(heap)上分配,即動態記憶體分配。
系統程式設計師知道系統中每個程式單元在儲存器中的位置,除了這個程式單元所佔儲存器的空間外,還存在一些空閒儲存器空間。系統程式設計師可以通過絕對位址對這些空間進行訪問。
應用:將系統常數燒寫在flash或rom特定位址。
2. 區域性變數
區域性變數的記憶體陷阱在於,c語言編譯器在處理區域性變數時,將其要麼放在cpu通用暫存器中,要麼放在**堆疊(棧區又稱堆疊)**中。而且區域性變數的生存期有限。
注意事項:
由於無法確定編譯器是否將區域性變數對映到通用暫存器中,所以不
嵌入式C語言 學習筆記
一 位運算 符號運算規則 與 兩個位都為1時,結果才為1 從真假方面看,只有當兩個位都為真時,結果才為真 或 兩個位都為0時,結果才為0 從真假方面看,如果兩個運算物件中相應的乙個位為真或者兩個位都為真,那麼結果為真 異或 兩個位相同為0,相異為1 從真假方面看,如果兩個運算物件中相應的乙個位為真且...
嵌入式c語言 學習筆記
最普通的指標 int a 呼叫形式 1 a a指向的物件的位址 2 a a指向的物件的值 3 a a自身的位址 常用來作為引數,呼叫陣列,加上乙個說明陣列的長度的,從而獲取不定大小的陣列 第二種 int a n 指標陣列,包含n個整型指標 對應地 int a n 陣列指標,指向大小為n的陣列 嵌入式...
嵌入式學習(二) 嵌入式系統C 語言
1 從 cpu 復位時的指定位址開始執行 2 跳轉至彙編 startup 處執行 3 跳轉至使用者主程式 main 執行,在 main 中完成 a.初試化各硬體裝置 b.初始化各軟體模組 c.進入死迴圈 無限迴圈 d呼叫各模組的處理函式 下面是幾個 著名 的死迴圈 1 作業系統是死迴圈 2 win3...