gpt4 book ai didi

c++ - 检测预编译头文件

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

有没有办法让预处理器检测当前代码是否在翻译单元使用(或正在创建)预编译头文件?

---
我现在面临的实际问题是我正在进行的项目是通过预编译几乎所有头文件来滥用 PCH。
也就是说没有你可以从#includes 获得清晰的依赖管理,而且编译时间很糟糕。实际上,每次更改都会触发完全重建。
该应用程序太大了,只能一次修复它,一些老家伙拒绝了相信预编译一切都是不好的。我必须先证明它。
所以我必须一步一步来,并确保我的更改不会影响以旧的 PCH 方式编译的代码。
我的计划是对 PCH.h 进行 ifdef 处理,并在有空闲时间时处理非 PCH 版本。

#ifdef USES_PCH
#include "PCH.h"
#elif
// include only whats needed
#endif

我想避免在命令行定义 USES_PCH 并手动将其保存在与/Y 同步,除了不是很优雅之外,还会很痛苦。有很多配置和模块以及许多不遵循项目默认设置的文件。

最佳答案

如果 Visual C++ 定义了一个常量来指示预编译头文件是否在使用中,它可能会列在 Predefined Macros 中。 .而且它没有记录在那里,所以它可能不存在。 (如果它确实存在,它可能没有记录,并且可能会在未来的版本中发生变化。)

关于c++ - 检测预编译头文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1326982/

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