Boost 增强强化指南(预处理器宏)

Boost 增强强化指南(预处理器宏),boost,boost-preprocessor,Boost,Boost Preprocessor,对于(1)调试工具(如检查迭代器)和(2)与安全相关的项目,我很难确定应该在Boost中使用哪些预处理器宏 我能找到的似乎只有(链接自www.boost.org/libs/preprocessor/) 更新(02-18-2013):我发现了,但它缺少任何与调试或安全相关的内容 有人知道用于调试和安全性的可用预处理器宏列表或强化指南吗?在任何boost库中,我都不知道真正的等价物。他们中的一些人尊重NDEBUG,并基于此进行优化(还有一些断言NDEBUG将禁用),因此将NDEBUG设置为发布而不是

对于(1)调试工具(如检查迭代器)和(2)与安全相关的项目,我很难确定应该在Boost中使用哪些预处理器宏

我能找到的似乎只有(链接自www.boost.org/libs/preprocessor/)

更新(02-18-2013):我发现了,但它缺少任何与调试或安全相关的内容


有人知道用于调试和安全性的可用预处理器宏列表或强化指南吗?

在任何boost库中,我都不知道真正的等价物。他们中的一些人尊重
NDEBUG
,并基于此进行优化(还有一些断言
NDEBUG
将禁用),因此将
NDEBUG
设置为发布而不是调试似乎是意料之中的事(我不知道是否将
NDEBUG
保留为发布而未定义视为“强化”)。但毫无疑问,这些LIB除了提供额外的装甲或可调试性之外,没有其他选择


boost库应该如何与Microsoft的迭代器进行交互调试,尤其是与SCL进行交互,这是一个反复出现的争论,请参见,例如,和(关于“仅标题”)库这没有多大区别;确保提供的DLL与集成商期望的兼容更是一个问题,对于是否应使用MS默认的这些选项,目前还没有达成一致意见,因为许多人怀疑性能开销).

据我所知,在任何boost库中都没有任何等价物。他们中的一些人尊重
NDEBUG
,并基于此进行优化(还有一些断言
NDEBUG
将禁用),因此将
NDEBUG
设置为发布而不是调试似乎是意料之中的事(我不知道是否将
NDEBUG
保留为发布而未定义视为“强化”)。但毫无疑问,这些LIB除了提供额外的装甲或可调试性之外,没有其他选择


boost库应该如何与Microsoft的迭代器进行交互调试,尤其是与SCL进行交互,这是一个反复出现的争论,请参见,例如,和(关于“仅标题”)库这没有多大区别;确保提供的DLL与集成商期望的兼容更是一个问题,对于是否应该使用MS默认的这些选项,目前还没有达成一致意见,因为许多人怀疑性能开销)。

答案可能特定于boost库,你的目标是哪一个?谢谢@Sam。至于哪一个图书馆——都是。Boost应该有编码要求、质量检查等,所以我希望他们有类似于GCC的
\u GLIBCXX\u DEBUG
或微软的
\u有迭代器\u DEBUG
的东西。或者Boost拾取这些宏(并尊重其他宏,如
DEBUG
\u DEBUG
)?答案可能是特定于一个Boost库的,您的目标是哪一个?谢谢@Sam。至于哪个库-都是它们。Boost应该有编码要求、质量检查等,所以我希望他们有类似于GCC的
\u GLIBCXX\u DEBUG
或微软的
\u有迭代器\u DEBUG
的东西。或者是否提高了对这些宏的拾取(并尊重其他宏,如
DEBUG
\u DEBUG
)?谢谢@timday。我会在晚上做个记录。杰弗里:你叫“蒂姆·戴”吗?我想在OWASP文章中引用你的话。是的,没关系。现在我已经看到了上下文,在上面添加了一些链接。谢谢@timday。我会在晚上做个记录。杰弗里:你叫“蒂姆·戴”吗?我想在OWASP文章中引用你的话。是的,没关系。现在我已经看到了上下文,在上面添加了一些链接。