调试C++宏有一个很好的通用方法吗?

Tyl*_*ler 13 c++ debugging macros gcc

通常,我偶尔会有一系列嵌套宏,其定义中包含一些预处理器条件元素.这些可能很难调试,因为很难直接看到正在执行的代码.

前一段时间我依稀记得找到一个编译器(gcc)标志来扩展它们,但是我在实践中遇到这个问题很困难.

dvo*_*rak 14

gcc -E会将预处理的源输出到stdout.


小智 8

对于MSVC用户,您可以右键单击文件/项目,查看设置并更改文件属性以输出预处理源(通常位于obj目录中).


Joe*_*der 5

这可能不适用于您的情况,但宏确实妨碍了调试,并且经常被过度使用和避免.

你可以用内联函数替换它们或以其他方式一起摆脱它们吗?