[lug] Weird 'C' preprocessor behavior

Alan Robertson alanr at unix.sh
Tue May 22 18:32:05 MDT 2001

Tom Tromey wrote:
> Alan> Does anyone know how to get 'C' to give me the effect I want?
> Add another layer of macro expansion.
>     #define MODULE foo
>     #define EXPORT2(module, function) module##__LTX__##function
>     #define X2(a,b) EXPORT2(a,b)
>     #define EXPORT(function) X2( MODULE, function)
>     #define TEST(function) printf("%s %s", MODULE, function)
>     EXPORT(main)
> Someone more language-lawyerly than I would have to tell you why.
> Or you could search the gcc list archives.  This comes up often enough
> that I remembered the solution.

Thanks Tom!

I suspect you know *exactly* why I wanted to do this too ;-) [libtool
dynamic loadable modules]

	-- Alan Robertson
	   alanr at unix.sh

More information about the LUG mailing list