Цитата(Dimentius @ Aug 1 2007, 15:54)

Как правильно написать макрос со структурой, зависящей от параметра?
Например, для циклов ожидания.
Вот такая конструкция НЕПРАВИЛЬНАЯ, но смысл должен быть понятен :
#define DELAY(N)\
#if (N == 1)\
NOP;\
#elif (N > 1)\
delay_cycles(N>>1);\
#endif
Код
#define DELAY(N)\
if (N == 1)\
NOP;\
else if (N > 1)\
delay_cycles(N>>1);\
#endif
нормальный компилер соптимизирует
Пасу котов...