Per esempio abc.c contiene una variabilePuoi esternare una variabile #define in un altro file?
#define NAME "supreeth"
Può extern la variabile NAME
in def.c?
Per esempio abc.c contiene una variabilePuoi esternare una variabile #define in un altro file?
#define NAME "supreeth"
Può extern la variabile NAME
in def.c?
Se si dispone di #define NAME "supreeth"
in abc.c, si può sicuramente avere una variabile extern con lo stesso nome in un altro file def.c
, questo è per quanto riguarda il compilatore. Se stai implicando una sorta di dipendenza tra questi due, quella dipendenza/collegamento non avverrà. Ovviamente è confusa e una cattiva idea fare qualcosa del genere.
Non è possibile utilizzare extern
con la macro. ma se si desidera che la macro visto da molti file C
mettere la macro definizione
#define NAME "supreeth"
in un file di intestazione come def.h
quindi inserisci la tua def.h nella vostra C e quindi puoi usare la tua macro nel tuo file C in tutti gli altri file C se includi def.
Cosa è possibile? Non esiste una variabile e il concetto di "extern" non si applica. –
Non intendevo usare extern I ean che può definire la sua macro nel file di intestazione, quindi può vederlo dai suoi file C. potrebbe essere che devo essere più specifico aggiornerò la mia risposta – MOHAMED
Nel tuo codice NAME
non è una variabile. È un simbolo pre-processore, il che significa che il testo NAME
verrà sostituito ovunque nell'input con la stringa "supreeth"
. Questo accade per file, quindi non ha senso parlare di "esterno".
Se un particolare file C viene compilato senza tale #define
, qualsiasi utilizzo di NAME
rimarrà così com'è.
Una definizione è una direttiva preprocessore. Viene sostituito in linea durante la compilazione del codice. Dovrai definirlo in un file di intestazione (include). –