У меня есть программа, которая должна быть скомпилирована только в Режиме отладки. (тестирование цели)
Как у меня может быть препроцессор, предотвращают компиляцию в режиме RELEASE?
Разместите где угодно:
#ifndef DEBUG
#error Only Debug builds are supported
#endif
Для этого можно использовать директиву error
. Следующий код вызовет ошибку во время компиляции, если DEBUG
не определен:
#ifndef DEBUG
#error This is an error message
#endif
Если вы просто хотите сообщить об ошибке:
#ifdef RELEASE
#error Release mode not allowed
#endif
будет работать с большинством компиляторов.
C предоставляет сообщение #error
, а большинство компиляторов добавляют сообщение #warning
. Документация gcc рекомендует цитировать сообщение.