define 与ifdef

白痴一下——突然发现自己真的好白痴。

以前总是以为define后面跟着数字才算define成功。

#define LWIP_UDP

#include <stdio.h>
int main()
{
#ifdef LWIP_UDP
printf("define\n");
#else
printf("undefine\n");
#endif
return 0;
}

输出

define



再测试下

#define LWIP_UDP    1

#include <stdio.h>
int main()
{
#ifdef LWIP_UDP
printf("define\n");
#else
printf("undefine\n");
#endif

#if LWIP_UDP
printf("define with 0\n");
#endif
return 0;
}

输出

define
define with 0



我想我可能是将#if和#ifdef弄错成一样的了。

悲剧,我了个擦。


原文地址:https://www.cnblogs.com/westfly/p/2388449.html