我很难决定我应该在Boost中使用什么预处理器宏(1)调试工具(比如检查过的迭代器)和(2)安全相关的项目。
我能找到的似乎只有Preprocessor Metaprogramming (链接自www.boost.org/libs/preprocessor/)。
更新(02-18-2013):我找到了Boost Macro Reference,但它缺少任何与调试或安全性相关的东西。
有没有人知道可用于调试和安全的预处置器宏的列表或强化指南?
发布于 2013-02-18 18:52:57
据我所知,在任何boost库中都没有对应的库。他们中的一些人尊重NDEBUG并在此基础上进行优化(也有一些断言NDEBUG会禁用),因此将NDEBUG设置为发布而不是调试似乎是意料之中的(对于发布来说,不定义NDEBUG是否算作“强化”我不知道)。但可以肯定的是,除了为它们提供任何额外的装甲或可调试性之外,没有任何库具有其他选项。
boost库应该如何与微软的_HAS_ITERATOR_DEBUGGING,特别是_SECURE_SCL进行交互,这是一个反复出现的争论,参见例如here,here和here (对于“只有头”的库,它没有太大的区别;更多的问题是确保提供的DLL与集成者期望的兼容,并且对于是否应该使用MS默认的这些选项,没有统一的共识,因为许多人对性能开销持怀疑态度)。
https://stackoverflow.com/questions/14927033
复制相似问题