Single line conditional compiles

Gerrit van Niekerk gerritvn@gpvno.co.za
Thu Jul 28 19:51:00 GMT 2005


On 28 Jul 2005 at 17:07, random@bubblescope.net wrote:

> Gerrit van Niekerk wrote:
> 
> >How can one implement single line conditional compile macros with GCC? 
> >
> >Instead of having:
> >
> >#ifdef OPT1
> ><valid C line>
> >#endif
> >
> >Having something like:
> >IFOPT1 <valid C line>
> >
> >The following works with BorlandC, but not GCC:
> >
> >#ifdef OPT1
> >#define IFOPT1
> >#else
> >#define IFOPT1 /##/
> >#endif
> >
> >I understand why it does not work - I am looking for a solution, not an
> >explanation :)
> >
> >  
> >
> Not quite what you are looking for, but how about?
> 
> #ifdef OPT1
> #define IFOPT1(x) x
> #else
> #define IFOPT1(x)
> #endif
> 
> Then you write
> IFOPT1(stuff)
> 
> This has the advantage you can write it mid-line, with stuff before and
> after it.
> 
> Chris

Thanks Chris,

This is a workable solution and portable too!

Gerrit



More information about the Gcc-help mailing list