1

我很难确定应该将哪些预处理器宏与 Boost 一起用于 (1) 调试工具(例如检查的迭代器)和 (2) 与安全相关的项目。

我似乎只能找到预处理器元编程(链接自 www.boost.org/libs/preprocessor/)。

更新(2013 年 2 月 18 日):我找到了Boost Macro Reference,但它缺少与调试或安全相关的任何内容。

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

4

1 回答 1

1

在任何 boost 库中,我都不知道有任何等价物。他们中的一些人尊重NDEBUG并基于此进行优化(并且还有一些断言NDEBUG会禁用),因此NDEBUG似乎可以预期为发布而不是调试设置(是否将NDEBUG未定义的发布计数为“硬化”我不知道)。但当然,没有一个库具有超出给它们任何额外装甲或可调试性的选项。

boost 库应如何与 Microsoft 交互,_HAS_ITERATOR_DEBUGGING尤其_SECURE_SCL是反复出现的辩论,请参见此处此处此处(对于“仅标头”库,它没有太大区别;确保提供的 DLL 与集成商期望什么,并且对于是否应该使用这些选项的 MS 默认值没有普遍的协议,因为许多人对性能开销持怀疑态度)。

于 2013-02-18T10:52:57.497 回答