組込み・ファームウェア
多くのマイコンで、変更しない大きな表(フォントのデータなど)をconstを付けて宣言する利点として正しいものはどれか。
- Aフラッシュメモリに置かれ、少ないRAMを使わずに済む
- B表の内容が自動で圧縮される
- C表の内容を実行中に自由に書き換えられるようになる
答えと解説を見る
正解:A. フラッシュメモリに置かれ、少ないRAMを使わずに済む
マイコンでは、プログラムを置くフラッシュメモリが数百KBあっても、RAMは数十KBということがよくあります。constを付けない初期値つきの配列は.dataになり、起動時にフラッシュからRAMへコピーされるので、RAMを使います。constを付ければ読み取り専用のデータとしてフラッシュに置いたまま読めます。マイコンによっては、フラッシュに置くための特別な指定が必要なものもあります。
- A. 正しい。RAMはフラッシュよりずっと小さいことが多いです。
- B. 圧縮はされません。
- C. constは書き換えないことを表します。