代码中经常出现#ifdef和#if,太久没看C,有点疑惑。刚刚用C-Free验证后,总结一下。
四种情况:
#define TEST
#define TEST_0 0
#define TEST_1 1
#define TEST_NULL NULL
#ifdef TEST
或者#ifdef TEST_0
或者#ifdef TEST_1
或者#ifdef TEST_NULL
这四种情况后面的代码都可以执行。
而
#if TEST
或者#if TEST_0
或者#if TEST_1
或者#if TEST_NULL
这四种情况只有#if TEST_1 后面的代码可以运行。