嵌入式與韌體
在許多微控制器上,將不會變更的大型表格(字型資料等)加上const宣告,其優點下列何者正確?
- A會被放置在快閃記憶體,不需佔用有限的RAM
- B表格的內容會自動壓縮
- C可在執行中自由改寫表格的內容
查看答案與解析
正確答案:A. 會被放置在快閃記憶體,不需佔用有限的RAM
在微控制器中,常見用來放置程式的快閃記憶體有數百KB,RAM卻只有數十KB。沒有加const且帶有初始值的陣列會成為.data,在啟動時從快閃記憶體複製到RAM,因此會使用RAM。加上const的話,就會作為唯讀資料留在快閃記憶體中直接讀取。依微控制器不同,有些還需要特別的指定才能放到快閃記憶體。
- A. 正確。RAM通常比快閃記憶體小得多。
- B. 不會被壓縮。
- C. const表示不會改寫。