is there a macro that prints the incoming param list?

Gary Kline kline at thought.org
Mon Jun 1 01:47:08 UTC 2009


On Mon, Jun 01, 2009 at 10:23:01AM +0900, till plewe wrote:
> 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.


	yeah, this is what i've done by hand.  printfs at first, then gdb 
	last.  
> 
> 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.


	a script might work, thanks for the idea.  but it's enought to have been 
	reminded of the gcc macros .



-- 
 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



More information about the freebsd-questions mailing list