VS2019自定义预编译头文件
每次编译项目时,编译器会把所有相关的文件复制进项目中并进行编译,但其实,这些被编译的文件中总有一些文件是不会变动的,比如标准库、STL和一些我们自己写的但基本不会更改的头文件等等,可是这些文件却要在每次编译时都被重新包含进项目中并重新编译。可不可以让它们只被编译一次?这样就可以大大缩短编译时间了。事实上确实可以,我们可以通过预编译头文件的方式做到这点。 以VS2019为例,进行自定义预编译头只需要三步: 创建文件: 将希望预编译的头文件都包含到一个头文件中,这里我们将它命名为mypch.h(pch: pre-compiled header);再新建一个cpp文件,命名为mypch.cpp,在其中包含mypch.h。 设置属性: 在mypch.cpp的属性页中,找到C/C++ -> 预编译头,预编译头选择“创建(/Yc)”,预编译头文件填写我们刚刚创建的mypch.h。在项目的属性页中按照2中方法找到预编译头,预编译头选择“使用(/Yu)”,预编译头文件填写mypch.h。 在项目的每个cpp文件的 最开始 加上 #include "mypch.h" 。 这就搞定了。然后就可以多次更改、编译项目测试编译时长看看效果如何,越是头文件多的项目速度提升会越明显。 但是,把所有头文件都进行预编译并不意味着优化,相反,这可能拖慢编译速度。 预编译头之所以可以大幅缩短编译时间