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

Как правильно написать макрос со структурой, зависящей от параметра?
Например, для циклов ожидания.
Вот такая конструкция НЕПРАВИЛЬНАЯ, но смысл должен быть понятен :
#define DELAY(N)\
#if (N == 1)\
NOP;\
#elif (N > 1)\
delay_cycles(N>>1);\
#endif
Если N - переменная, то нельзя. Если константа из фиксированного набора значений и известная в момент компиляции, то можно. Как? Идея по ссылке
http://mb9x.ginps.com/fujitsu/src/pin_macros.htmlА вообще сделайте inline функцию и не парьте себе мозг.