目的
为了加快工程的编译速度,可以将一些经常使用的、不常修改的第三方或者子集的头文件进行预编译。
vs的配置方式
创建预编译文件stdafx.h和stdafx.cpp
在stdafx.h文件中添加我们想要进行预编译的第三方库文件头,例如:
stdafx.h:
#pragma once
#include<iostream>
#include <vector>
#include <memory.h>
#include <array>
#include <string.h>
在stdafx.cpp文件中引入该头文件
stdafx.cpp:
#include "stdafx.h"
生成预编译头文件
在项目中右键stdafx.cpp文件设置属性c+±》预编译头:
在预编译头中设置:创建。
预编译文件选择我们创建的stdafx.h文件。
项目中使用预编译头文件
点击项目-》属性-》C+±》预编译头
设置预编译头:使用
预编译头文件stdafx.h
预编译头文件输出和stdafx.cpp中的保持一致即可。
编译时间测试工具
我们在VS中可以设置一些选项,来显示我们编译某一个项目所用的时间,这样就可以明显的对比出使用预编译头文件和不使用预编译头文件在编译时间上的区别。
设置路径:工具-》项目和解决方案-》VC+项目设置-》生成-》生成计时-》选择是
总结
使用最简单的helloword项目,如果在hellloworld中包含以上stdafx.h中所有的头文件,这使用预编译比不使用预编译速度快了大概3倍左右。