Мне интересно, в какой цели различные платформы/компиляторы ( "реализации" )/framework присваивают макросу C и С++ препроцессора NDEBUG
.
C, а также стандарт С++ упоминают это определение только один раз, а именно для управления поведением макроса assert()
.
Я бы попросил включить только конкретные ответы, в которых вы знаете, что определенная платформа/инфраструктура/библиотека для C или С++ использует определение NDEBUG
для включения или отключения чего-либо еще в дополнение к стандарту, определенному макросом assert()
.
Одна из причин, по которой задавался этот вопрос, заключалась в том, что MS (Visual-С++) всегда (?) использует "свои" _DEBUG
для определения различать материалы отладки и выпуска, и мне было интересно, является ли это обычной практикой для библиотеки/платформы для определения собственной "отладки" или используют ли другие библиотеки/платформы NDEBUG
для связанных с отладкой материалов.