新微赢技术网

标题: [求助]我不知道怎么用stdafx.h [打印本页]

作者: love戒情人    时间: 2009-11-3 03:53
标题: [求助]我不知道怎么用stdafx.h
在stdafx.h和stdafx.cpp中分别做些什么工作啊
作者: 陪你疯→想你    时间: 2009-11-3 03:53
好象在.net环境下stdafx.h中包括iostream头文件吧...
作者: 秋风扫落叶    时间: 2009-11-3 03:53
大家来点高手告诉我一下
作者: 追风少年    时间: 2009-11-3 03:53
stdafx是预编译头文件。你可以从VC++集成环境菜单Project/Settings...中的Project Settings Dialog/C/C++/Category:Precompiled Headers/Use precompiled header file(.pch)的Check Box中看到。已经将Stdafx.h文件作为预编译的头文件来使用。
预编译头文件是在编译所有Code之前,首先进行的动作。通过解析这个文件,取得定义的结构和参数。这样就不用在编译每个文件时都重新进行解析。提高编译速度。
如果有一些头文件会被你的多个CPP文件用到,你可以将他们放入Stdafx.h中,并将stdafx.h包含到你的每个CPP文件中。
stdafx.h这个名称是可以改变的,你可以指定预编译头文件的名称
作者: 发指的青春    时间: 2009-11-3 03:53
比如我要建一个工程有3个文件:
一、snake.cpp
需要的头文件是:
#include <iostream>
#include "snake.h"
#include <windows.h>

二、snake.h
需要的头文件是:
#include <windows.h>
#include <ctime>
#include <iostream>
#include "snake.h"

三、main.cpp
需要的头文件是:
#include <vector>
#include <queue>

那么在stdafx.h和stdafx.cpp中分别应该加什么呢?
作者: _睡覺覺c◆s    时间: 2009-11-3 03:54
怎么没人告诉我啊?
作者: 追风少年    时间: 2009-11-3 03:54
因为C++的编译方式是.cPP文件参与编译,所以stdafx.cpp是参与编译,所以一定要在里面调用"stdafx.h"
而stdafx.h里面就调用了很多MFC必须的头文件,例如#include <afxwin.h>,所以那些vector,之类的头文件应该在stdafx.h上用,而且很多文件都是调用"stdafx.h",所以你写在stdafx.cPP是没有用的
作者: 我為ぷぃ情醉    时间: 2009-11-3 03:54
是控制台文件吗?生成项目的时候选"Hello world"型stdafx就会给你加好了。
作者: 熾天使rose    时间: 2009-11-3 03:54
预编译头文件的目的是为了节省编译时间。只需在stdafx.h中加入工程中常用的头文件即可,比如<windows.h>、<iostream>等,自己写的头文件就不要往里面加了。




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2