Руководство по усилению защиты BOOST (макросы препроцессора)

Мне трудно определить, какие макросы препроцессора я должен использовать с Boost для (1) инструментов отладки (таких как проверенные итераторы) и (2) элементов, связанных с безопасностью.

Все, что я могу найти, это метапрограммирование препроцессора (ссылка на www.boost.org/libs). /препроцессор/).

ОБНОВЛЕНИЕ (18.02.2013): я нашел Boost Macro Reference, но в нем отсутствует что-либо, связанное с отладкой или безопасностью.

Кто-нибудь знает список доступных макросов препроцессора для отладки и безопасности или руководство по усилению защиты?


person jww    schedule 17.02.2013    source источник
comment
Ответ, вероятно, относится к библиотеке повышения, на какие из них вы ориентируетесь?   -  person Sam Miller    schedule 18.02.2013
comment
Спасибо @Сэм. Что касается библиотеки - это все. У Boost якобы есть требования к кодированию, проверки качества и т. д. Поэтому я ожидаю, что у них есть что-то похожее на _GLIBCXX_DEBUG GCC или _HAS_ITERATOR_DEBUGGING Microsoft. Или Boost подхватывает эти макросы (и учитывает другие, такие как DEBUG и _DEBUG)?   -  person jww    schedule 18.02.2013


Ответы (1)


На самом деле я не знаю никаких эквивалентов ни в одной из библиотек повышения. Некоторые из них уважают NDEBUG и проводят оптимизацию на основе этого (а также есть некоторые утверждения, которые NDEBUG отключит), поэтому установка NDEBUG для выпуска, но не для отладки, по-видимому, ожидается (будь то оставление NDEBUG неопределенным для выпуска считается «усилением» я не знаю). Но, конечно же, ни одна из библиотек не имеет опций, кроме тех, которые дают им дополнительную защиту или отладку.

Как библиотеки повышения должны взаимодействовать с Microsoft _HAS_ITERATOR_DEBUGGING и особенно _SECURE_SCL, является постоянным спором, см., например, здесь, здесь и здесь (для библиотек "только для заголовков" это не имеет большого значения; это скорее проблема обеспечения совместимости предоставленных DLL с тем, что ожидают интеграторы, и нет универсального соглашения о том, следует ли использовать значения по умолчанию MS для этих параметров или нет, поскольку многие люди с подозрением относятся к накладным расходам на производительность).

person timday    schedule 18.02.2013
comment
Спасибо @timday. Я сделаю пометку в разделе укрепление цепочки инструментов на основе C. Джефф - person jww; 18.02.2013
comment
Тебя зовут Тим ​​Дэй? Я хотел бы процитировать вас в статье OWASP. - person jww; 18.02.2013
comment
Да, это нормально. Теперь я увидел контекст, добавив еще несколько ссылок выше. - person timday; 18.02.2013