如何找出在Visual Studio中编译C++标头需要多少时间

How can find out how much time a C++ header takes to compile in Visual Studio?

本文关键字:时间 多少 C++ 编译 何找出 Visual Studio      更新时间:2023-10-16

我正在寻找一种方法来告诉Visual Studio通过编译器运行特定的头文件。这纯粹是为了狩猎和保持编译时间。

我能想到的是创建一个.cpp文件,其中包括所述标头。但是,当您有许多要检查编译时间的标头时,创建一个文件然后Ctrl-F7编译该.cpp文件非常麻烦。

有没有办法告诉Visual Studio用Ctrl-F7编译当前的开放标头?

注意:这不是关于如何使用头文件的问题。

编译未

包含在 cpp 文件中的标头是没有意义的,因此这是不可能的。

不过,您可能想看看创建所谓的预编译标头,这有助于缩短编译时间。

头文件是应该包含在cpp文件中的文件,从技术上讲,它是实际的源代码文件,我们正式称之为"编译单元"。

因此,您的头文件实际上只包含"包含在"另一个文件中的代码。从技术上讲,该包含是复制/粘贴到执行包含的文件中。标头可能包含彼此,但最终,实际上只编译编译单元 - cpp 文件。

标头不是编译单元。编译器实际上不存在头文件;它们只是从中复制粘贴代码的文件,从中复制从编译单元读取的内容中的粘贴代码。

这意味着,如果你想检查一个头文件是否编译,你必须把它包含在编译单元中的某个地方(即使是空的.cpp文件也可以),并让编译器编译该编译单元。

或者,您可以重命名头文件,以便将其识别为编译单元(通过将其扩展名更改为.cpp)。