gcc-2.96: pasting would not give a valid preprocessing token
Míla Kuchta
mila.kuchta na atlas.cz
Sobota Listopad 25 21:05:48 CET 2000
Matej Cizek <clawn na volny.cz> wrote:
>> #define message(string, args...) printf("program: " string, ##args)
>>
>> O co go?
>
> Musi se to napsat jako:
> #define message(string, args...) printf("program: " string , ##args)
>
> Cili pridat mezeru pred ', ##args', pokud se totiz to makro rozviji s
> nulovym poctem parametru v 'args', tak by preprocesor mel pri rozvijeni
> makra smazat tu carku pred ##args, ale on smaze cely slovo, cili skupinu
> nemezer, pred '##args'.
> V puvodnim zneni by se makro pri nulovym poctu parametru rozvinulo na:
> 'printf("program: ")' a preprocesor by se jen divil, kam se mu ztratilo to
> 'string'.
> Starsi verze gcc hlasej error jen pri pouziti s nulovym poctem
> parametru.
Opravdu? To se mi nejak nechce verit, ale zkusil jsem to a stale ta stejna
hlaska.
S pozdravem
Mila Kuchta
Další informace o konferenci Linux