最近,我有理由要使用常规的Debug和Release配置来处理某些Visual Studio C ++项目,还需要处理“ Release All”和“ Debug All”,这是我以前从未见过的。
事实证明,项目的作者只有一个ALL.cpp,其中#includes所有其他.cpp文件。*所有配置仅构建此一个ALL.cpp文件。它当然不包含在常规配置中,并且常规配置不会构建ALL.cpp
我只是想知道这是否是常见的做法?它带来什么好处?(我的第一反应是闻起来很香。)
您可能会遇到什么样的陷阱?我能想到的是,如果您的.cpps中有匿名名称空间,它们不再是该cpp的“专用”对象,而是现在在其他cpps中也可见?
所有项目都构建DLL,因此将数据存储在匿名名称空间中不是一个好主意,对吗?但是功能会好吗?