c - Expand __COUNTER__ macro once per source file -
i'm trying write macro expand __counter__ macro once per source file. understand how macros work expansion i'm having difficulty one. want expand __counter__ macro once @ top of file , each reference define not expand __counter__ it's next number.
so want expand __counter__ single value , use 1 value consistently through current working source file.
i can use features available c.
the __counter__ extension (i suppose using compiler gcc family) restricted such use. difficulty if put macro, toto, not expanded @ definition @ use. each invocation of toto give rise new value of counter.
in p99 have portable replacement this, achieves goal #include hackery. p99_fileid per file identifier, , p99_lineid id should unique lines in compilation unit (but use care).
another alternative if need compile time constant , nothing in preprocessor use counter in enumeration constant.
enum { toto_id = __count__, };
Comments
Post a Comment