Как я генерирую ошибку или предупреждение в препроцессоре C?

У меня есть программа, которая должна быть скомпилирована только в Режиме отладки. (тестирование цели)

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

52
задан phs 25 June 2016 в 13:11
поделиться

4 ответа

Разместите где угодно:

#ifndef DEBUG
#error Only Debug builds are supported
#endif
76
ответ дан 7 November 2019 в 09:14
поделиться

Для этого можно использовать директиву error . Следующий код вызовет ошибку во время компиляции, если DEBUG не определен:

#ifndef DEBUG
#error This is an error message
#endif
4
ответ дан 7 November 2019 в 09:14
поделиться

Если вы просто хотите сообщить об ошибке:

#ifdef RELEASE
  #error Release mode not allowed
#endif

будет работать с большинством компиляторов.

3
ответ дан 7 November 2019 в 09:14
поделиться

C предоставляет сообщение #error, а большинство компиляторов добавляют сообщение #warning. Документация gcc рекомендует цитировать сообщение.

19
ответ дан 7 November 2019 в 09:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: