[ salec @ 11.06.2004. 10:20 ] @
Tj. na pr.: Code: #define BROJ_ONOG_REGISTRA 6 .... #define IME_REGISTRA(a) registar##a // identifikatori registri #define MOJREG IME_REGISTRA(BROJ_ONOG_REGISTRA) I sad, kad negde u kodu napisem na primer: Code: volatile char registar0, registar1, registar2, registar3, registar4, registar5, registar6; ..... MOJREG = 0x05; Kompajler nece videti: Code: kako bih ja zeleo, nego:registar6 = 0x05; Code: registarBROJ_ONOG_REGISTRA = 0x05; Kako da forsiram izvrsenje makrozamene parametara ovog makroa koji vrsi konkatenaciju? U K&R pise da ¨prisustvo ## stiti argumente spoljasnjeg poziva od prosirenja¨. Ima li tome leka(, doskocice, resenja, workarounda)? |