关于Visual Studio的预编译头文件

使用Visual Studio很久了,关于这个细节今天终于算弄清楚了,记录一下。

使用Visual Studio或其他IDE学习C++时,即便是最简单的hello world的控制台程序,首先也要新建一个工程,而不能直接用记事本新建个后缀为cpp的文本文件,然后一条命令(比如cc)就完成了的,那么新建工程时就有下面3种类型:

1、默认状态下

这时候默认预编译头,生成的文件结构如下:

2、取消勾选Precompiled header

完成后文件结构与之前完全相同,文件内容也相同,那么这两种类型到底有什么区别呢?

不同点在于第二种状态下,stdafx.h和stdafx.cpp是可以删除的(当然会提示类型未定义,因为删掉了#include <tchar.h>,把main函数头改为int main()即可)。默认状态下则不能删除,连接时报错。

       继续深究的话,其根本原因在于这个:勾选Precompiled header时编译器认为,所有在指令#include "stdafx.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值