摘要:
在查阅linux内核源码的过程中,发现存在两种不同类型的条件编译语句:#ifdef MACRO_A和#if defined(MACRO_A)或#if !defined(MACRO_A)#ifdef和#ifdefined()之间的区别实际上,两者并无本质的差别,但后者的应用范围更广,能支持多个预编译变量的检查。#if defined(MACRO_A) && !defined(MACRO_B)
#endif
如果用前者的方式来表达,只能使用嵌套的条件判断#ifdef(MACRO_A) #ifndef(MACRO_B) ...; ...; #endif... 阅读全文