gpt4 book ai didi

"Use Precompiled Headers"状态的 C++ 编译器宏

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:03:35 30 4
gpt4 key购买 nike

是否有一个预定义的 c++ 编译器宏,我可以使用它来判断文件是否使用“使用预编译头文件”、“创建预编译头文件”、“不使用预编译头文件”编译?

有关此类宏的用途,请参阅@IronMensan 的回答!

最佳答案

我不认为有什么,虽然我当然理解对一个的渴望。每当我必须在一个不支持 PCH 的系统上构建我的跨平台库时,这会花费很长时间,因为很多文件的引入方式超出了它们真正需要的范围,最好将其删除。不幸的是我不能因为 Visual Studio 处理 PCH 的方式。也就是说,PCH 的包含必须是文件的第一个非注释行。从您对问题的措辞来看,我怀疑您也在使用 Visual Studio。

我不确定这是否适合你,但你可以尝试这样的事情:

#include MY_PCH_FILE

并使用 /DMY_PCH_FILE="我的文件.h"

在命令行上控制第一个包含文件是什么。之后,您可以完全控制包含的内容和适当的 header 保护,以及大多数现代编译器中检测 header 保护的优化可以减少构建时间。您可以在项目的build设置中更改单个文件的宏定义,其方式与更改每个文件的 PCH 设置的方式类似。

虽然我必须承认我不确定你想做什么,我怀疑这真的是一个 XY problem

关于 "Use Precompiled Headers"状态的 C++ 编译器宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8031424/

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