vs查看宏展开 - - 博客频道 - CSDN.NET http://blog.csdn.net/qyee16/article/details/9322281
宏在我们的代码中能经常给我们带来很大的便利,但是有些宏会造成意向不到的错误,能够查看宏展开就能够查看宏错误的根源。VS2008对编译是不保存预处理的文件信息的,而宏展开的信息就是在预编译阶段。如下图:

工程属性--》配置属性--》c/c++--》预处理器--》生成预处理文件,默认“否”是不生成预编译文件的。生成的预编译文件是项目文件下的.i文件,想要产生此文件,可选择“生成预处理文件”的选项“带行号(/P)”或者“不带行号(/EP /P)”
代码如下:
- #include "stdafx.h"
- #define SUM(a,b) a+b
- int main(){
- int c =3,d=4;
- int sum = SUM(c,d);
- return 1;
- }
- int main(){
- int c =3,d=4;
- int sum = c+d;
- return 1;
- }
本文介绍如何在Visual Studio 2008中通过设置生成预处理文件来查看宏展开的情况,这对于排查宏引起的编译错误非常有用。通过选择不同的生成选项,可以得到包含或不包含行号信息的预处理文件。

897

被折叠的 条评论
为什么被折叠?



