一个很奇怪的头文件问题,在更新之后为什么原来的stdafx.h没了变成了pch.h感觉怪怪的

w_1005ei 2018-09-22 12:01:15
#include "pch.h"//这个头文件以前就没见过
#include "stdafx.h"//这一行是我自己写的 提示文件打不开 去掉后程序可以运行
#include <iostream>
...全文
3438 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻夢之葉 2019-02-16
  • 打赏
  • 举报
回复
VS建立某些类型工程生成stdafx.h这个头文件,是把这个头文件作为预编译头文件进行处理的
pch.h看名称一般也是作为预编译头文件的,pch为previous compiled header的缩写

VS中,“工程配置”——“C/C++”——“预编译头”内可以设置和查看预编译头的信息

预编译这个功能主要是优化了编译速度,把一些极少改动的编译单元文件(如标准库(STL),第三方库(源码),自有的稳定库(源码),工程其他模块但不大可能频繁变动的(源码))
把以上的有需要的include的头文件集中放置在预编译头文件中,选择“重新生成”在所有导入的代码没有变动的情况下不需要重新编译这一部分代码。

预编译对于大型项目来说是特别有必要的

PS:以上均为自身理解,如有说法错误敬请指正。
  • 打赏
  • 举报
回复
stdafx.h这个文件名作为预编译头文件,已经太多年了。这是带有显著早期Microsoft味道的命名。AFX是从MFC早期开始就有的东西,可以度娘一下:AFX

变成pch.h就对了,明明白白就是预编译。微软很多产品命名都比较直白,比如早期的浏览器 Internet Explorer,比其他的firefox之类的直白多了。计算器就叫calc,画图是 mspaint。
郑昊 2019-02-15
  • 打赏
  • 举报
回复
这个是最近更新之后的(加强版)stdafx.h。与原来的stdafx.h用法一样。而且更加稳定了。里面将程序所有稳定的不会经常修改的头文件放进去就OK了。
zy010101 2018-09-22
  • 打赏
  • 举报
回复
这个新版本VS自动添加的。你建立工程的时候可以选择空项目。就什么都没有了。

64,682

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧