VC 中查看预处理结果

2025-04-09 18:49:06

在VC文件中,有很多悴匙吭佰预处理命令,例如

文件包含#include,

宏定义 #define#undef

条件编译 #if、 #ifdef、 #ifndef、 #elif、 #else、 #endif

有时候宏定义替换以后,结果不正确,这时候就需要看看预编译处理后文件,在vc中这样设置

选择project->Settings菜单如图

VC 中查看预处理结果

弹出设置界面:

VC 中查看预处理结果

在C/C++->project options 框中 添加/p命令,即可。

添加完以后,编译工程,出现一个Link错误说找不到stdafx.obj文件,VC只是做了预处理,没有生产obj文件,不用管,在源文件目录中以.i的文件就是预处理后的文件。但是处理完以后,还要改回原来的状态,删除/p选项。即可运行。系统头文件尽量注释掉,否则出现很多系统包含。

以一个例子做说明:

有如下程序:

//#include <stdio.h>

#define S(x) x*x+x

int main()

{

int p = S(4+3);

printf("%d",p);

return 0;

}

预处理后的文件内容是:

#line 1 "d:\\php模块\\123\\main.cpp"

int main()

{

int p = 4+3*4+3+4+3;

printf("%d",p);

return 0;

}

这时候就会很快查出错误点了,所以说查看预处理后的文件很有用。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢