我很难确定哪些预处理器宏可以用于(1)调试工具(比如选中的迭代器)和(2)安全相关的项目。BOOST加固指南(预处理器宏)
我看起来似乎找到的是Preprocessor Metaprogramming(链接自www.boost.org/libs/preprocessor/)。
UPDATE(02-18-2013):我发现Boost Macro Reference,但它缺少与调试或安全相关的任何内容。
有没有人知道可用于调试和安全的预处理器宏列表或加固指南?
我很难确定哪些预处理器宏可以用于(1)调试工具(比如选中的迭代器)和(2)安全相关的项目。BOOST加固指南(预处理器宏)
我看起来似乎找到的是Preprocessor Metaprogramming(链接自www.boost.org/libs/preprocessor/)。
UPDATE(02-18-2013):我发现Boost Macro Reference,但它缺少与调试或安全相关的任何内容。
有没有人知道可用于调试和安全的预处理器宏列表或加固指南?
在任何boost库中都没有真正的任何等价物。其中一些尊重NDEBUG
并根据此优化(并且还有一些断言NDEBUG
将禁用),因此设置NDEBUG
用于发布但不调试似乎是预期的(是否将NDEBUG
未定义为释放计数为“硬化”I不知道)。但是,当然没有任何一种库可以提供超出其他装甲或可调试性的选项。
如何Boost库应该与微软的_HAS_ITERATOR_DEBUGGING
互动,特别_SECURE_SCL
是一个反复出现的辩论见,例如here,here和here(对于“仅标头”库它并没有太大的差别,它更使的问题肯定提供的DLL与集成商所期望的兼容,并且没有关于是否应该使用MS默认这些选项的普遍一致意见,因为很多人都对性能开销表示怀疑)。
答案可能特定于增强库,哪些是你的目标? – 2013-02-18 00:50:07
谢谢@Sam。至于哪个库 - 它们都是。 Boost据说有编码需求,质量检查等等。所以我期望他们有类似于GCC的'_GLIBCXX_DEBUG'或微软的'_HAS_ITERATOR_DEBUGGING'的东西。还是提升拾取这些宏(并尊重其他人,如DEBUG和_DEBUG)? – jww 2013-02-18 09:27:19