Zum Beispiel abc.c enthält eine VariableKönnen Sie eine Variable #define in eine andere Datei einfügen?
#define NAME "supreeth"
Kann die Variable NAME
in def.c extern?
Zum Beispiel abc.c enthält eine VariableKönnen Sie eine Variable #define in eine andere Datei einfügen?
#define NAME "supreeth"
Kann die Variable NAME
in def.c extern?
Wenn Sie #define NAME "supreeth"
in abc.c haben, können Sie sicherlich eine externe Variable mit dem gleichen Namen in einer anderen Datei def.c
haben, das ist so weit wie der Compiler betroffen ist. Wenn Sie eine Art von Abhängigkeit zwischen diesen beiden implizieren, wird diese Abhängigkeit/Verknüpfung nicht passieren. Offensichtlich ist es verwirrend und eine schlechte Idee, so etwas zu tun.
Sie können extern
nicht mit Makro verwenden. aber wenn Sie Ihr Makro von vielen C-Dateien gesehen wollen
setzen Sie Ihre Makrodefinition
#define NAME "supreeth"
in einer Header-Datei wie def.h
dann sind Ihre def.h in Ihrem C-Code und dann können Sie Ihr Makro in Ihrer C-Datei in allen anderen C-Datei verwenden, wenn Sie def.h
Was ist möglich? Es gibt keine Variable und das Konzept von "extern" gilt nicht. –
Ich meinte nicht, extern zu verwenden, er kann sein Makro in der Header-Datei definieren, dann kann er es aus seinen C-Dateien sehen. Vielleicht muss ich genauer sein, ich werde meine Antwort aktualisieren – MOHAMED
In Ihrem Codeenthaltenist keine Variable. Es ist ein Vorprozessorsymbol, was bedeutet, dass der Text NAME
überall in der Eingabe durch die Zeichenfolge "supreeth"
ersetzt wird. Dies passiert pro Datei, daher macht es keinen Sinn, darüber zu sprechen, dass es "extern" ist.
Wenn eine bestimmte C-Datei ohne diese #define
kompiliert wird, bleibt jegliche Verwendung von NAME
so wie sie ist.
Eine Definition ist eine Präprozessordirektive. Es wird inline beim Kompilieren des Codes ersetzt. Sie müssen es in einer Header (Include) -Datei definieren. –