预处理器指令#if和#ifdef之间的区别
两个预处理器控制语句之间有什么区别(如果有的话)。
#if
和
#ifdef
您可以通
#define FOO 0 #if FOO // won't compile this #endif #ifdef FOO // will compile this #endif
#if
检查符号的值 ,而#ifdef
检查符号的存在 (不pipe其值如何)。
#ifdef FOO
是一个捷径:
#if defined(FOO)
#if
也可以用于其他testing或更复杂的预处理器条件。
#if defined(FOO) || defined(BAR)