查找宏下的代码是否正在编译

时间:2013-10-30 06:00:56

标签: gcc compiler-construction g++ makefile

我有一大堆代码用于一系列嵌入式设备。每当我们为一个产品进行修复时,我们就会合并其他产品的更改。有时候,有些设备会在Macro的代码下使用代码......比如

#if DEVICE1
   Do_This();
#elif DEVICE2
   Do_That();
#else
   Do_SomethingElse();
#endif

在上述情况下,我将不得不在resspective宏下合并代码。有时,它不是很直接的前进。因此,在合并后的变化。

在编译期间,有没有办法找到新添加的代码行是否被编译?

1 个答案:

答案 0 :(得分:2)

cppgcc使用的预处理器相同。使用相同的标志手动调用它,它将输出结果(已处理)代码。搜索有趣的区域以查看您想要的内容。

E.g。 cpp foo.c | less