#ifdef 和#if define 的区别后者的应用范围更大,可以支持多个预编译变量的检查: #if (defined(_DEBUG) && defined(USE_MYLIB)) .......... #endif 这种情况用前一种方式就只能写一个嵌套的条件判断: #ifdef _DEBUG #ifdef USE_MYLIB ................ #endif #endif
把 #elif define 改成 #elif defined