《C言語》 非最適化でも最適なコードを書く

組込系のソフトウェア開発ではマイナーなコンパイラーを使用する事が多々あります。
しかも作成するソフトのサイズは512kbなどです。

過去の開発業務ではコンパイラーのバグで最適化オプションが開発途中で使用禁止になる事例があり、目標とするソフトのサイズを大幅にオーバーしてしまうという事案があり苦労した経験があります。

その時にどう修正したかをメモ程度に書いて置きます。

〇データ構造を深くしない
・構造体の中に複数構造体を持っている場合、アドレス計算が複数入る為
(最初のデータ構造設計を見直すと、スマートになります)

〇無駄にループしない
・ループ内に条件文等あると複雑化するため、しっかり整理したほうが良い

〇無駄に関数にしない
・スタックが増えてスタックが読めない

〇とにかく単純化

正直、
最適化オプションがある事によって読みやすいコードが書けると思いますが、
コンパイラー依存が高い為、組み込みなどでは読みやすいコードを捨ててまでして
コード最小化や処理速度向上を図る場合があるので、覚えておきましょう。

たまにコンパイルの最適化オプションを変更してどのくらい差があるか試してみると面白いかもしれません。

ホームページ http://www.ois-yokohama.co.jp

facebook   https://www.facebook.com/orientalinformationservice/