Директива #ifdef используется для проверки , определен ли символ препроцессора. Стандарт (C11 6.4.2 Identifiers
) требует, чтобы идентификаторы не начинались с цифры:
identifier:
identifier-nondigit
identifier identifier-nondigit
identifier digit
identifier-nondigit:
nondigit
universal-character-name
other implementation-defined characters>
nondigit: one of
_ a b c d e f g h i j k l m
n o p q r s t u v w x y z
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
digit: one of
0 1 2 3 4 5 6 7 8 9
Правильная форма для использования препроцессора для блокировки кода:
#if 0
: : :
#endif
Вы также можете использовать:
#ifdef NO_CHANCE_THAT_THIS_SYMBOL_WILL_EVER_EXIST
: : :
#endif
но вы должны быть уверены, что символы не будут случайно установлены с помощью кода, отличного от вашего. Другими словами, не используйте что-то вроде NOTUSED
или DONOTCOMPILE
, которое могут использовать и другие. На всякий случай предпочтительнее использовать опцию #if
.