【STM32連載 第12回】最適化とアセンブラ ― Cが機械語になる瞬間を見る ―
コンパイラは「意味を変えずに速くする」が、volatileを忘れると意味ごと変える。-O0と-O2でアセンブラがどう変わるかをobjdumpで実際に見て、12回分の学びを「つよつよの条件」として締めくくる最終回。
コンパイラは「意味を変えずに速くする」が、volatileを忘れると意味ごと変える。-O0と-O2でアセンブラがどう変わるかをobjdumpで実際に見て、12回分の学びを「つよつよの条件」として締めくくる最終回。
ISRでprintf・volatile忘れ・重い処理・フラグクリア忘れ——組み込みでよく踏む地雷を「わざと」やって壊します。STM32だけでなくArduino・ESP32・Renesas・PICにも共通する割り込み設計の鉄則を、壊れる瞬間から学ぶ。
C言語の構造体パディング・アライメントをSTM32デバッガ(Memoryビュー)で実際に観察!sizeof()の落とし穴、RAM節約のためのメンバ並び替えテクニック、volatile修飾子の役割まで、組み込みC言語の本質を実測値で体感的に理解できます。