vc配置使用预编译

预编译原理

stdafx.h中加入系统文件,减少cpp中对这些文件的解析,提高速度

stdafx.h 会把编译的文件生成pch,后续解析头文件直接调用pch里面的数据

配置

新建stdafx.h和stdafx.cpp文件

  1. 配置stdafx.cpp文件为/Yc 创建预编译文件

整个项目设置/Yc会导致pch重复生成,需要保证项目中只有一个文件是/Yc配置,所以默认stdafx.h比较简便

  1. 配置项目为/Yu 使用预编译文件

优化

打开预编译后所有cpp需要添加stdafx.h文件,同时要把cpp中的系统文件加到stdafx.h中,减少编译时候的解析

stdafx.h中的文件修改了,需要重新编译

把项目中所有的std库和第三库移动到stdafx.h文件中,保证stdafx.h中的文件不会变动,有变动需要重新编译

优化后,vs的预编译可以提升50%-80%的编译效率

### VC6.0 中配置预编译头文件的方法 #### 设置项目属性以启用预编译头文件 为了使VC6.0支持预编译头文件,在创建新项目时可以选择带有预编译头模板的选项。对于已有的项目,可以通过修改项目的设置来开启这一特性。 在Visual C++ 6.0环境中打开目标解决方案下的具体工程项目后,按`Alt+F7`调出Project Settings对话框[^4]。切换到C/C++标签页,并找到Category下拉列表中的Precompiled Headers项[^5]。这里提供了几个不同的选项用于控制如何处理预编译头: - **Create(/Yc)**:指示编译器为当前源文件生成一个新的预编译头(.pch),通常只应用于StdAfx.cpp这样的特殊文件。 - **Use (/Yu)** :告诉编译器使用现有的预编译头而不是重新解析那些已经包含的标准库或其他常用头文件。 - **Not using precompiled headers** : 关闭该项目中所有地方对该功能的支持。 #### 创建并维护预编译头文件 当选择了“create”模式后,还需要确保有一个专门用来定义预编译内容的cpp文件(通常是stdfax.cpp),以及对应的h文件(stdafx.h)。在这个H文件内应该放置最常使用的全局声明、宏定义以及其他必要的第三方库引入语句。注意,任何位于 `#include "stdafx.h"`之前的代码都将被忽略不计;因此建议将其作为每个CPP模块的第一条指令。 ```cpp // stdafx.h 文件示例 #ifndef STDAFX_H_ #define STDAFX_H_ #ifdef _DEBUG #pragma comment(lib, "library_debug") // 调试版本链接特定库 #else #pragma comment(lib, "library_release") // 发布版本链接不同库 #endif #include <windows.h> #include <string> #endif /*STDAFX_H_*/ ``` 一旦完成了上述配置步骤,就可以利用预编译技术加速后续构建过程了。每当更改了预编译部分的内容时,记得先清理旧版PCH再执行全量重建操作以保证最新改动生效[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

怪力左手

囧rz

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值