Czy można zrobić coś takiego:zależny makro makro
#define F(x) \
#ifdef DOUBLE \
2*x \
#else \
x \
#endif
tak, że gdy używam F
, co rozszerza się zależy od tego czy makro DOUBLE
jest zdefiniowana? Nie sądzę, ale mam nadzieję. Ekspansje GNU są w porządku.
Edit W odpowiedzi na niektóre z odpowiedzi, jestem naprawdę używając tego zrobić kilka generacji kodu, gdzie kod jest nieco inny w zależności od tego, gdzie zostanie ona zdefiniowana. Z powodu kolejności, w jakiej są zawarte niektóre pliki i gdzie należy zdefiniować odpowiednie makra, przełączanie w ten sposób wymaga trochę faktoringu. Być może będę musiał to zrobić, ale byłbym zachwycony, gdybym nie musiał odciąć się od tego kąta!
To jest idealne. –
Dobra robota. Nie chciałbym jednak tego utrzymywać. – AShelly