gpt4 book ai didi

visual-c++ - 使用预编译头文件时,我是否仍应在需要的地方包含头文件?

转载 作者:行者123 更新时间:2023-12-04 18:10:44 24 4
gpt4 key购买 nike

我想这是一个关于风格而不是正确性的问题。

使用 Visual Studio 2012,我发现使用 windows.h、direct3d11、atlbase 和任何标准 C++ 头文件的预编译头文件比不使用它们时我的项目构建速度要快得多。该项目大量使用 Windows,因此根本不需要任何东西可移植到该项目的其他操作系统或编译器。

我的问题是我真的应该包含在 #include "Precomp.h" 之后使用的头文件吗? .他们当然不会做任何事情,因为他们有标题保护或#pragma once 但他们会帮助记录依赖项。

在 .h 文件中呢?我不能在那里包含预编译的头文件,但为了使 .h 文件自包含,我总是包含,例如,如果它使用了那里的任何东西。但这是不必要的,因为包含此 .h 文件的 .cpp 文件将始终在使用它的 .h 文件之前包含“Precomp.h”文件。

所以这不是真正的正确性,而是关于理解和可维护性的最佳风格。

在这种情况下,预编译头文件的“最佳实践”是什么?

最佳答案

经验法则非常简单:只使用永远不会改变的标题。所以你只会得到一次缓慢的编译,再也不会了。

这使得 SDK 和编译器头文件成为一个简单的选择。你自己的标题,不是那么多。然后第二条经验法则适用:您是否有自己的标题应该在任何地方#include?它们实际上是否足够大以产生明显的速度差异?无论如何,这几乎总是两次罢工。

关于visual-c++ - 使用预编译头文件时,我是否仍应在需要的地方包含头文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13231449/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com