我很難確定哪些預處理器宏可以用於(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