Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Условная компиляция
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Программирование
kichkine
Пишу следующую вещь:

#if xxx
что-то одно;
#else
что-то другое;
#endif

Теперь если по недосмотру забыть определить xxx, то всегда будет выполняться вариант else.
А можно ли как-то сделать так, чтоб компилятор (препроцессор) ругался, если символ xxx не определен?
Doka
Код
...
#else  /* if xxx undefined */
  #error  xxx undefined
#endif



или даже так:

Код
...
#if !defined(xxx) /* либо сразу  #ifndef xxx (если препроцессор такое переварит)  */
  #error  xxx undefined
#endif


PS: тему переношу в "ОС" -> "Программирование", как не имеющую ЦОС-специфики
KirillS
Цитата(kichkine @ Mar 1 2007, 18:45) *
Пишу следующую вещь:

#if xxx
что-то одно;
#else
что-то другое;
#endif

Теперь если по недосмотру забыть определить xxx, то всегда будет выполняться вариант else.
А можно ли как-то сделать так, чтоб компилятор (препроцессор) ругался, если символ xxx не определен?


Можно и так:

#ifndef xxx
echo "xxx undefined !!!"
#endif
Сергей Борщ
Можно объединить:

#if ! defined(xxx)
echo "xxx undefined !!!"
#elif xxx
что-то одно;
#else
что-то другое;
#endif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.