Люди, расскажите как сделать, чтобы вот это работало:
или подскажите, как можно это реализовать по-другому.
Если никуда A не вставлять, то все компилится, а если написать, то компилер говорит #ifdef: undeclared identifier. Т.е. препроцессор делает только 1 проход по разбору директив. Я не нашел в опциях VC2003 настройки количества проходов.
Наверное можно сначала передать программу внешнему препроцессору, а потом уже ее компилить? Но тут тоже проблемы - непонятно, сколько проходов должен сделать он, например.
Короче, кто-нибудь сталкивался с такой штукой?
#define A #define B C
и/или
#define A #ifdef B \
C\
#else\
D
или подскажите, как можно это реализовать по-другому.
Если никуда A не вставлять, то все компилится, а если написать, то компилер говорит #ifdef: undeclared identifier. Т.е. препроцессор делает только 1 проход по разбору директив. Я не нашел в опциях VC2003 настройки количества проходов.
Наверное можно сначала передать программу внешнему препроцессору, а потом уже ее компилить? Но тут тоже проблемы - непонятно, сколько проходов должен сделать он, например.
Короче, кто-нибудь сталкивался с такой штукой?
