今天调查bug的时候,遇到一个奇怪的现象
coding:
#ifdef B
xxx
#endif[/COLOR]
调试发现 xxx部分的代码未被编译到。
搜索B的定义,发现在mmi_feature中有如下定义
#ifdef A
#define B
#endif
然后去搜索A的定义,发现在mmi_feature中有如下定义
#define A
于是我确定宏B被声明了。然后就无法继续调查了。
其实这里有个陷阱,
当
#ifdef A
#define B
#endif
被放置在
#define A
的上面的时候,宏B并没有被定义。理由是显而易见的。
以上,就这么多了。