Visual C++ 6.0和Visual Studio 2005

来源:百度知道 编辑:UC知道 时间:2024/06/25 22:20:40
我们以前都使用Visual C++ 6.0编译C程序,今天看到学校电脑上安装有Visual Studio 2005,于是想尝试一下。依次点击【文件】-【新建项目】,然后选择Visual C++的Win32 控制台应用程序。然后我就把一个已经在Visual C++ 6.0中调试并正常运行的程序源代码复制了进去,编译时却提示要加入#include <stdafx.h>,这是什么东西?写上以后还没等我看到结果程序就自动关掉了。于是我就在最前面加上char ch;,在最后面加上ch=getchar();。可是运行的时候并没有让我输入字符,这是怎么回事?

所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。

预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。

编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。

因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。

#include <stdafx.h>
只是为了包含一些头文件用的,比如stdio.h,并定义一些宏,其实可以删掉,你可以看看里面的内容

这是应为 Visual C++ 和 Visual Studio 2005 是两个不一样的编程软件