#define acumulativo

Alvaro Herrera alvherre en alvh.no-ip.org
Jue Sep 13 21:06:10 CLT 2007


rodrigo ahumada escribió:
> hola
> 
> una pequeña consulta de C
> 
> es posible ir acumulando un #define
> 
> por ejemlo:
> 
> #define ACUM printf("primero\n");
> 
> #define MAS #define ACUM ACUM printf("otro mas\n");
> 
> int main(int argc, char *argv[]) {
>    MAS
>    MAS
>    MAS
>    ACUM
> }
> 
> lo cual deberia escupir por pantalla:
> 
> primero
> otro mas
> otro mas
> otro mas

Humm! Aunque funcionara como tu quieres (que no es asi), no escupiria
eso, sino mas bien

primero
primero
otro mas
primero
primero
otro mas
primero

Creo que funcionaria algo asi:
#define ACUM printf("primero\n");
#define MAS ACUM ACUM printf("otro mas\n");


> mi idea es ir acumulando acciones por cada variable
> declarada, y luego ejecutarlas todas de una al incio
> de un programa.

Te recomiendo no usar las macros de esa manera.  Es muy confuso y
dificil de mantener.

-- 
Alvaro Herrera                               http://www.PlanetPostgreSQL.org/
"Cuando miro a alguien, más me atrae cómo cambia que quién es" (J. Binoche)


Más información sobre la lista de distribución Linux