1
我想用全局常量struct來管理一些子系統的配置。這意味着,我想用這樣的:有效使用C中的const結構而不是定義來分組配置參數?
const struct SystemConfig {
.channels = 5,
.mode = NORMAL_MODE,
} SYSTEM_CONFIG;
並在以後使用它在我的代碼平常一樣:
...
numberOfChannels = SYSTEM_CONFIG.channels;
mode = SYSTEM_CONFIG.mode;
...
我想用這種方式來跳過#define
的。
我的問題是,如果編譯器會認識到這一點,並在編譯時將它們的值替換爲它們各自的值,考慮到一切都是恆定的?
編輯:對不起標記都Ç和C++,它現在固定的,我的問題只涉及Ç。我使用的編譯器是帶有ARM Cortex-M4目標的GCC。
試試看! – Nocturno 2013-02-15 14:06:51
找到的唯一方法是查看生成的彙編代碼。 – 2013-02-15 14:07:15
'...如果編譯器會......'哪個編譯器?而且,既然它是用C和C++標記的,哪種語言? – Mike 2013-02-15 14:08:57