场景
开发中经常需要根据一些配置使用不同的代码块,比如根据配置决定是否用不同的代码实现某个接口,或者根据配置决定在内核态或者用户态使用不同的接口。
Makefile中定义
CFLAGS = \
-DCFG_XXX_TYPE=1
注意这里不能定义成字符串比如 CFG_XXX_TYPE=“abc” 然后C语言中进行 CFG_XXX_TYPE == “CFG_XXX_TYPE”
C语言中使用
#if defined(CFG_XXX_TYPE) && (CFG_XXX_TYPE == 1)
#define SET_DFT_LEN 10
int a = 1;
#