LINUX.ORG.RU

#if 0 - ?


0

0

Извините, никогда с таким не сталкивался.
Тто что есть под рукой по прекомпиляции не помогло. :(
Не подскажите как это понимать ?

в "source.h"

#if 0 == _FL_
# define  Value ...
#elif 1 == _FL_
# define  Value ...
#else
# error What blank value?
#endif

'#if 0 == _FL_'  - включается, если 
 _FL_ - определена нулем(0) ?

в "source.c"
#if 0
....
#endif

Не понятно:  '#if 0'  ?
Когда попадают в блок ?
anonymous

Ответ на: комментарий от MKuznetsov

Зависит ли попадание в блок в "source.c"
#if 0
....
#endif

от определения  '_FL_' где-то выше ?
Если я определю 
#define _FL_ 0 
попаду в указанный блок или все это ерунда ?

anonymous
()

В препроцессоре C можно использовать константные выражения с некоторыми исключениями. Можно даже написать #if (0+2+3) == TEST...

Для проверки - скомпилируйте и узнаете :-)

rymis ★★
()
Ответ на: комментарий от anonymous

если определить _FL_ нулём, _FL_ везде будет заменяться на ноль,
но ноль на _FL_ (и на что-либо ещё) заменяться не будет.

следовательно блок '#if 0' никогда не компилируется

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.