一部のサブシステムの構成を管理するために、グローバル定数構造体を使用することを考えています。これは、次のようなものを使用したいことを意味します。
const struct SystemConfig {
.channels = 5,
.mode = NORMAL_MODE,
} SYSTEM_CONFIG;
そして後でいつものように私のコードでそれを使用します:
...
numberOfChannels = SYSTEM_CONFIG.channels;
mode = SYSTEM_CONFIG.mode;
...
このアプローチを使用して、をスキップしたいと思い#define
ます。
私の質問は、コンパイラがこれを認識し、コンパイル時にすべてが一定であることを考慮して、値をそれぞれの値に置き換えるかどうかです。
編集:CとC ++の両方にタグを付けて申し訳ありませんが、現在修正されており、私の質問はCのみに関連しています。私が使用しているコンパイラは、ARMCortex-M4ターゲットを備えたGCCです。