查看C++源文件的预处理结果

    编译c++源代码时,首先预处理器会将源代码进行预处理,预处理器执行源代码中的预处理指令,下面是如何查看cpp文件经过预处理后的文件。

首先有一个简单的cpp文件如下:

#include "StdAfx.h"
#include "TestMacro.h"
#include "iostream"

using namespace std;

TestMacro::TestMacro(void)
{
}

void testMacro_2()
{
#ifndef LANGUAGE
#define LANGUAGE 5
#define GERMEN 1
#define ENGLISH 2
#define FRENCH 3
    cout << "LANGUAGE can be defined" << endl;
#else
    cout << "LANGUAGE has been defined" << endl;
#endif
#if LANGUAGE == ENGLISH
#define Greeting "GoodMorning."
#elif LANGUAGE == GERMEN
#define Greeting "Guten Tag."
#elif LANGUAGE == FRENCH
#define Greeting "Bonjour."
#else
#define Greeting "Hi."
#endif
    cout << Greeting << endl;
}

win7系统vs2010环境下,在开始->所有程序->msvs2010->Visual Studio Tools 下找到Visual Studio 命令提示(2010)并打开,将路径跳到TestMacro.cpp文件的保存路径下,再输入命令cl -E TestMacro.cpp后按回车,控制台中输出的就是经过预处理后的cpp文件。

上面的文件预处理后变为:

预处理后的文件内容

可以将预处理后的文件重定向到文本文件中,命令为:

cl -e TestMacro.cpp >stdout.txt

posted @ 2014-05-22 13:52  chinayfhuang  阅读(1532)  评论(0编辑  收藏  举报