我很难确定应该将哪些预处理器宏与 Boost 一起用于 (1) 调试工具(例如检查的迭代器)和 (2) 与安全相关的项目。
我似乎只能找到预处理器元编程(链接自 www.boost.org/libs/preprocessor/)。
更新(2013 年 2 月 18 日):我找到了Boost Macro Reference,但它缺少与调试或安全相关的任何内容。
有谁知道用于调试和安全的可用预处理器宏列表或强化指南?
我很难确定应该将哪些预处理器宏与 Boost 一起用于 (1) 调试工具(例如检查的迭代器)和 (2) 与安全相关的项目。
我似乎只能找到预处理器元编程(链接自 www.boost.org/libs/preprocessor/)。
更新(2013 年 2 月 18 日):我找到了Boost Macro Reference,但它缺少与调试或安全相关的任何内容。
有谁知道用于调试和安全的可用预处理器宏列表或强化指南?
在任何 boost 库中,我都不知道有任何等价物。他们中的一些人尊重NDEBUG
并基于此进行优化(并且还有一些断言NDEBUG
会禁用),因此NDEBUG
似乎可以预期为发布而不是调试设置(是否将NDEBUG
未定义的发布计数为“硬化”我不知道)。但当然,没有一个库具有超出给它们任何额外装甲或可调试性的选项。
boost 库应如何与 Microsoft 交互,_HAS_ITERATOR_DEBUGGING
尤其_SECURE_SCL
是反复出现的辩论,请参见此处、此处和此处(对于“仅标头”库,它没有太大区别;确保提供的 DLL 与集成商期望什么,并且对于是否应该使用这些选项的 MS 默认值没有普遍的协议,因为许多人对性能开销持怀疑态度)。