如果只有一个".c"文件包含预编译头,预编译的头是否会加快编译速度



我对预编译头的理解如下:

我们创建stdafx.h文件:

#pragma once
#include <code1.h>
#include <code2.h>
...
#include <codeN.h>

stdafx.cc文件:

#include <stdafx.h>

现在,如果多个main1.cmain2.cmain3.c文件中的每一个都包含stdafx.h头,那么当您第一次编译main1.c时,stdafx.h包含的所有内容都将被解析并编译为对象文件,但编译下一个main2.cmain3.c文件将不需要再次解析stdafx.h文件。

但是,假设我只有一个main1.c文件,没有main2.cmain3.c文件。使用预编译头会比直接将codeX.h包含到main.c中有什么改进吗?

如果只有一个.c文件包含预编译头,预编译的头是否会加快编译速度?

可能是的,假设您使用的是以前预编译的标头。

它应该更快,因为预编译的头(应该(已经通过预处理器运行,影响这里代码的编译器标志也应该完成它的工作。

因此,与仍然需要做这些事情的include相比,它应该更快。

最新更新