[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Preprocessing



On Tue, Jul 08, 2003 at 05:10:00PM +0200, François TOURDE wrote:
> > #define TOTO 1
> >
> > (....)
> >
> > #if TOTO
> >     reconfigure( toto );
> > #endif
> >
> > tu écris:
> >
> > #define TOTO 1    (on peut toujours pas faire sans)
> >
> > (...)
> >
> >    if (TOTO)
> >        reconfigure( toto );
> >
> 
> Tu peux aussi dire:
> 
> [static] int TOTO=1;
> 
> if (TOTO)
>   reconfigure(toto);

Non, dans ce cas tu compiles effectivement le test et tu
mets un appel à reconfigure(), car TOTO est une variable et
le compilateur ne sait pas si quelqu'un d'autre dans un
autre module ne va pas le changer.

Dans mon exemple, le code disparait complètement si TOTO=0.

> Dans ce cas, m4 est un plus, mais je suis d'accord que
> c'est un peu un emplâtre sur une jambe de bois. 

CQFD. Merci :-)

/Y

-- 
Marbles should not normally be poked.



Reply to: