使用#define管理代码

时间:2015-05-18 15:27:23

标签: c++ visual-c++

我有几个源文件和头文件,其中包含应根据相同选项编译的代码。可以使用

设置该选项

#define myOption

要在我的所有文件中看到此选项,我需要将其放在所有文件都可以看到的位置。我只看到一种方法 - 将此选项放在特殊的头文件中,并将其包含在所有源文件和头文件中。有没有其他方法可以解决我的问题?代码组织的最佳实践是什么?

UPD

在评论中,我发现包含myOption的头文件可能是stdafx.h。但是我认为这不是一个好的做法,因为在启用了预编译头的CPP项目中,我可以使用一些带有C代码的单元关闭预编译头。

1 个答案:

答案 0 :(得分:2)

正如@Paranaix所提到的,您可以为编译器提供预处理器定义,如命令行参数,如-DmyOption。假设您使用Visual Studio,则可以打开project properties->C/C++->Preprocessor->Preprocessor Definitions并将myOption放在该列表中。它会自动为编译器添加-DmyOption参数。因此,项目中的每个源文件现在都可以检查该选项。