nanorobot (13.05.2015 21:27, просмотров: 4115)
Вопрос знатокам препроцессора в программе могут быть либо определены, либо нет, в зависимомти от значений макросов вида USE_OPTION_XXX некие опции, например
#ifdef USE_OPTION_1
#define OPTION_1 3
#endif
#ifdef USE_OPTION_2
#define OPTION_2 1
#endif
#ifdef USE_OPTION_3
#define OPTION_3 0
#endif
количество опций <= 32
числовые значения каждой опции уникальны и и имеют значения от 0 до 31
далее мне требуется макросы, вида
#define OPTIONS_LIST_1 1 << OPTION_1 | \
1 << OPTION_XX | \
1 << OPTION_YY
#define OPTIONS_LIST_3 1 << OPTION_ZZ | \
1 << OPTION_1 | \
1 << OPTION_0
при этом некоторые OPTION_XX могут быть неопределены в данной конфигурации программы. В этом случае соответствующие битики в макросе OPTION_LIST_XX должны быть = 0
конструкция такого вида не прокатывает:
#define OPTIONS_LIST_3 1 << OPTION_ZZ | \
#if USE_OPTION_1
1 << OPTION_1 | \
#endif
1 << OPTION_0
как быть?