Na przykład abc.c zawiera zmiennąCzy możesz wypisać zmienną #define w innym pliku?
#define NAME "supreeth"
Czy extern zmiennej NAME
w def.c?
Na przykład abc.c zawiera zmiennąCzy możesz wypisać zmienną #define w innym pliku?
#define NAME "supreeth"
Czy extern zmiennej NAME
w def.c?
Jeśli masz w abc.c, z pewnością możesz mieć zmienną extern o tej samej nazwie w innym pliku def.c
, to jest tak daleko, jak kompilator. Jeśli sugerujesz jakąś zależność między tymi dwoma, ta zależność/powiązanie nie nastąpi. Oczywiście jest to mylące i zły pomysł, aby zrobić coś takiego.
Nie można użyć extern
z makro. ale jeśli chcesz, aby makro postrzegane przez wielu plików C
umieścić makro definicję
#define NAME "supreeth"
w pliku nagłówkowym jak def.h
następnie podać swój def.h w swojej Kod C, a następnie możesz użyć makra w pliku C we wszystkich innych plikach C, jeśli podasz def.h
Co jest możliwe? Nie ma zmiennej, a pojęcie "extern" nie ma zastosowania. –
Nie miałem na myśli używania zewnętrznego, ale mogę zdefiniować jego makro w pliku nagłówkowym, a następnie zobaczyć je z jego plików C. być może muszę być bardziej konkretny, zaktualizuję swoją odpowiedź – MOHAMED
W kodzie NAME
nie jest zmienną. Jest to symbol pre-procesora, co oznacza, że tekst na całym świecie zostanie zastąpiony ciągiem . Zdarza się to w pliku, więc nie ma sensu mówić o tym, że jest "zewnętrzny".
Jeśli określony plik C zostanie skompilowany bez tego #define
, jakiekolwiek użycie NAME
pozostanie takie, jakie jest.
Definicja to dyrektywa preprocesora. Jest on zastępowany inline podczas kompilowania kodu. Będziesz musiał zdefiniować go w pliku nagłówkowym (uwzględnij). –