在VC文件中,有很多悴匙吭佰预处理命令,例如
文件包含#include,
宏定义 #define#undef
条件编译 #if、 #ifdef、 #ifndef、 #elif、 #else、 #endif
有时候宏定义替换以后,结果不正确,这时候就需要看看预编译处理后文件,在vc中这样设置
选择project->Settings菜单如图
弹出设置界面:
在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;
}
这时候就会很快查出错误点了,所以说查看预处理后的文件很有用。