设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1843|回复: 8
打印 上一主题 下一主题

[求助]我不知道怎么用stdafx.h

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 03:53:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在stdafx.h和stdafx.cpp中分别做些什么工作啊
2#
发表于 2009-11-3 03:53:55 | 只看该作者
好象在.net环境下stdafx.h中包括iostream头文件吧...
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 03:53:56 | 只看该作者
大家来点高手告诉我一下
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 03:53:57 | 只看该作者
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这个名称是可以改变的,你可以指定预编译头文件的名称
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 03:53:58 | 只看该作者
比如我要建一个工程有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中分别应该加什么呢?
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 03:54:00 | 只看该作者
怎么没人告诉我啊?
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 03:54:01 | 只看该作者
因为C++的编译方式是.cPP文件参与编译,所以stdafx.cpp是参与编译,所以一定要在里面调用"stdafx.h"
而stdafx.h里面就调用了很多MFC必须的头文件,例如#include <afxwin.h>,所以那些vector,之类的头文件应该在stdafx.h上用,而且很多文件都是调用"stdafx.h",所以你写在stdafx.cPP是没有用的
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-3 03:54:02 | 只看该作者
是控制台文件吗?生成项目的时候选"Hello world"型stdafx就会给你加好了。
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-3 03:54:03 | 只看该作者
预编译头文件的目的是为了节省编译时间。只需在stdafx.h中加入工程中常用的头文件即可,比如<windows.h>、<iostream>等,自己写的头文件就不要往里面加了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 20:38 , Processed in 0.108072 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表