我正在考虑使用全局常量结构来管理某些子系统的配置。这意味着我想使用类似的东西:
const struct SystemConfig {
.channels = 5,
.mode = NORMAL_MODE,
} SYSTEM_CONFIG;
然后像往常一样在我的代码中使用它:
...
numberOfChannels = SYSTEM_CONFIG.channels;
mode = SYSTEM_CONFIG.mode;
...
我想用这种方法跳过#define
's.
我的问题是,考虑到一切都是不变的,编译器是否会意识到这一点并在编译时用它们各自的值替换这些值?
编辑:很抱歉标记了C和 C++,它现在已修复,我的问题仅与C相关。我使用的编译器是带有 ARM Cortex-M4 目标的 GCC。