Как я могу отключить ASSERT (x) в C ++? - PullRequest
5 голосов
/ 11 февраля 2010

Я подозреваю, что у некоторого кода ASSERTION есть побочные эффекты. Я хотел бы отключить ASSERT без каких-либо других изменений в том, как компилируется мой код. Я использую MSVS2008. Переключение с отладки на выпуск не произойдет, поскольку это изменит способ инициализации памяти.

Ответы [ 2 ]

6 голосов
/ 11 февраля 2010

Поместите это в верхнюю часть заголовочных файлов после включений cassert (или включения, включающего cassert)

#undef assert
#define assert(x) ((void)0)

Который переопределяет марку утверждения так, что она расширяется до нуля.

6 голосов
/ 11 февраля 2010

Если вы имеете в виду assert, то этим нужно управлять с помощью макроса NDEBUG.

...