usuario1295872
Por ejemplo abc.c contiene una variable
#define NAME "supreeth"
Puede externalizar la variable NAME
en def.c?
MOHAMED
No puede utilizar extern
con macro pero si quieres que tu macro sea vista por muchos archivos C
pon tu definición de macro
#define NAME "supreeth"
en un archivo de encabezado como def.h
luego incluye tu def.h en su código C y luego puede usar su macro en su archivo C en todos los demás archivos C si incluye def.h
-
¿Qué es posible? No hay variable, y el concepto de
extern
no aplica–Keith Thompson
29 de abril de 2013 a las 14:45
-
No quise decir usar extern. Quiero decir que puede definir su macro en el archivo de encabezado y luego puede verlo desde sus archivos C. puede ser que tenga que ser más específico, actualizaré mi respuesta
– MOHAMED
29 de abril de 2013 a las 14:47
en tu codigo NAME
no es una variable Es un símbolo de preprocesador, lo que significa que el texto NAME
será reemplazado en todas partes en la entrada con la cadena "supreeth"
. Esto sucede por archivo, por lo que no tiene sentido hablar de que es “externo”.
Si un archivo C en particular se compila sin eso #define
cualquier uso de NAME
permanecerá como está.
Si usted tiene #define NAME "supreeth"
en abc.c, seguramente puede tener una variable externa con el mismo nombre en otro archivo def.c
, esto es en lo que respecta al compilador. Si está implicando algún tipo de dependencia entre estos dos, esa dependencia/vinculación no ocurrirá. Obviamente es confuso y una mala idea hacer algo como esto.
Una definición es una directiva de preprocesador. Se reemplaza en línea al compilar el código. Deberá definirlo en un archivo de encabezado (incluir).
– woodleg.as
29/04/2013 a las 13:35