is there a macro that prints the incoming param list?

till plewe till.plewe at gmail.com
Mon Jun 1 01:23:02 UTC 2009


On Mon, Jun 1, 2009 at 10:06 AM, Gary Kline <kline at thought.org> wrote:
>
> is there any marco that printfs the incoming list, or am i asking too much of the
> compiler at runtime?
>
> example:
>
>        main (int argc, char *argv)
>
>        with this macro might print:
>
>        "2", "testinput"
>
>        and baz(char *file, int count)
>
>        similarly might print,
>
>        "testinput", "47"
>
>        i'm probably asking the impossible, but this is certainly the place to
>        ask.
>
>        thanks,
>
>        gary
>
>
>        ps: i'm looking to create a DEBUG header.
>
>
>
> --
>  Gary Kline  kline at thought.org  http://www.thought.org  Public Service Unix
>        http://jottings.thought.org   http://transfinite.thought.org
>    The 4.91a release of Jottings: http://jottings.thought.org/index.php
>
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>

How is the macro supposed to know how to print the arguments?
There may be user defined types.

The simplest way would be to add a printf statement after each
function definition.

You could write scripts which generate the format strings for you from
your header files and then use a (variadic) macro which expects that you have
generated a table which contains for each function name the corresponding
format string and argument list.


More information about the freebsd-questions mailing list