[C con Clase] directiva de compilación en GCC

Programante programante en gmail.com
Sab Mar 23 23:07:40 CET 2013


El 23/03/13 22:29, cplusplus en intelnet.net.gt escribió:
> Saludos a todos,
>
> Es un gusto volver a las listas de Con  Clase, especialmente a la
> lista de C++
>
> Desde el 2002 estuve en la lista, pero hace un par de años que salí,
> pero ahora regreso.
>
> Saludos para Steven y para Salvador, que gracias a ellos está lista se
> ha mantenido activa
> y seguro que ha sido de gran ayuda para muchos estudiantes y
> profesionales.
>
>
> Aca mi solicitud de ayuda:
>
>
> Utilizando el compilador "gcc", al realizar la compilación se puede
> utilizar la directiva "-D".
>
> El uso de la directiva "-D" es así:
>
>  gcc -D DIA=23 hola.c -o hola.exe
>
> y asi, dentro del programa ejecutable podemos hacer uso de "DIA", por
> ejemplo:
>
> printf("El día es %d",DIA);
Para ser estrictos, con -D lo que haces es un #define
-DDIA=23 es equivalente a #define DIA 23


> hasta ahora bien, pero lo que necesito es enviarle un valor que no sea
> númerico, por ejemplo:
>
>  gcc -D CLAVE=PASSWORD hola.c -o hola.exe
>
> pero el compilador me muestra un mensaje de error 
Debido a que no tienes un identificador llamado PASSWORD


> y si pruebo así:
>
>  gcc -D CLAVE="PASSWORD" hola.c -o hola.exe
>
> o así:
>
>  gcc -D CLAVE='PASSWORD' hola.c -o hola.exe
>
> también me muestra mensajes de error.
>
> ¿Alguno de usedes conoce la forma de enviarle un valor alfanumérico?
Se trata de una cadena de texto, por lo que lo que tienes que mandarle
al compilador es "PASSWORD"
Sospecho que tu problema es que la shell está interpretando las comillas
y no se las pasa al compilador (que entonces ve solo -D CLAVE=PASSWORD)
Puede que tengas que hacer -DCLAVE='"PASSWORD"' o -DCLAVE=^"PASSWORD^"

Un saludo





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