有时候我遇到了非常复杂的宏,我想查看它们将扩展到给定参数的内容(这里也有字符串连接)。是否有任何机会可以扩展宏?
我知道编译器标志-E
但是单个文件(或者最好是单个宏?)
答案 0 :(得分:4)
如果将鼠标悬停在它们上面,Eclipse将展开宏。对于包含其他宏的宏,Eclipse甚至可以一步一步地完成宏扩展。
(即使您通常使用其他IDE,也可以使用Eclipse。)
答案 1 :(得分:3)
C和C ++预处理器在大多数系统上称为cpp - 您可以直接使用它:
cpp somefile.c
将预处理somefile.c,扩展宏并将结果写入标准输出。如果您使用的是Microsoft编译器:
cl -E somefile.c
假设你的PATH上有编译器,也会这样做。
答案 2 :(得分:3)
有几种选择:
在海湾合作委员会中:
gcc -E filename.c
使用计算机预编译器:
cpp filename.c
在Visual Studio中:
右键单击解决方案资源管理器上的文件,转到“属性”。在配置属性 - > C / C ++ - >预处理器& “生成预处理文件”
答案 3 :(得分:1)