背景在嵌入式开发中通常使用.h头文件宏定义配置各种参数,来适配各种应用场景,以及统一修改工程中使用到的参数,避免漏改引起的程序bug。在一个相对比较复杂的项目中,往往需要配置各种各样的参数, 不同功能的模块对应不同.h,而有效配置项目是具有关联性,比如A模块依赖B模块,如果模块B关闭(如#define MODULE_B 0)时,那么就不应该启用模块A,当依赖层级比较多时,容易出现修改这忘了改那,尤其随着时间拉长,对项目没有之前那么熟悉的情况,依靠记忆配置存在隐患。参考linux开发,使用make menu