预处理器#defines以及如何在没有预编译头的情况下全局使用?

时间:2013-03-18 15:41:10

标签: c++ compiler-construction precompiled-headers

我在过去几年中所做的开发使用了大量预编译的头文件。每个产品一个。预编译的标头以某种方式用于每个产品所需的#define项目。这确实使代码在每个产品中保持清洁和便携。

但是,如何在不使用预编译头的情况下复制此方法?

基本上,能够#define相当数量的物品和一些基本物品,但不能成为PCH。

您是否只需创建.h并将其包含在需要这些定义的每个类中?

您可以将.pch重命名为.h吗?在结构上它看起来是一样的吗?好吧,加上标题。

更新:这是一个代码库,过去常常使用Codewarrior for Mac和Win。现在在OS X上使用XCode,我们可能会在Mac和Win上迁移到CMake,以帮助我们避免这么多不同的环境。

1 个答案:

答案 0 :(得分:0)

您可以使用单个包含文件(.h)并将其包含在任何地方。

但是,大多数构建系统还提供了在项目范围上添加#defines的方法。例如,在Visual Studio中,项目属性的预处理器部分允许您放置项目范围的特定于构建的定义。