我试图在 MSVC6 上使用/D 编译器选项来定义一个字符串,但是在它周围使用双引号有些奇怪。要调试此问题,如果能够查看预处理器实际将什么值替换到我的扩展宏的代码中,这将对我非常有帮助。有什么办法可以做到这一点?我尝试使用“assembly and source”创建一个列表文件,但源包含原始宏名称,ASM 在该行是一些难以理解的乱码。有没有办法在编译时获取宏值?
如果做不到(或者可能更有用),我如何使用/D 选项指定一个字符串?它需要在我的源代码中加上双引号,因为我将它用作字符串文字。
最佳答案
对 CL.exe 尝试以下选项之一:
/E preprocess to stdout
/P preprocess to file
如果您在 Visual Studio 中构建,您可以在其中一个项目属性对话框中指定自定义命令行选项。
关于c++ - 如何找出 MSVC 为预处理器宏使用的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1342158/