Kannst du extern eine #define-variable in einer anderen Datei?
Beispielsweise abc.c enthält eine variable, die
#define NAME "supreeth"
Können extern die variable NAME
im def.c?
Ein define ist eine Präprozessor-Direktive. Es ersetzt inline-beim kompilieren des Codes. Sie benötigen, definieren Sie es in einem header (include) - Datei.
InformationsquelleAutor user1295872 | 2013-04-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie
#define NAME "supreeth"
im abc.c, können Sie sicherlich eine extern variable durch den gleichen Namen in einer anderen Dateidef.c
, das ist so weit wie der compiler betrifft. Wenn Sie impliziert eine Art von Abhängigkeit zwischen diesen beiden, Abhängigkeit/Verknüpfung wird nicht passieren.Natürlich ist es verwirrend und eine schlechte Idee, so etwas zu tun.
InformationsquelleAutor Sudhee
In Ihrem code
NAME
ist nicht eine variable. Es ist ein pre-Prozessor-symbol, was bedeutet, dass der textNAME
ersetzt wird überall in der Eingabe mit dem string"supreeth"
. Dies geschieht pro-Datei, so dass es nicht sinnvoll ist, darüber zu sprechen, dass es "externe".Wenn für ein bestimmtes C-Datei kompiliert wird, ohne dass
#define
jede VerwendungNAME
wird so bleiben, wie Sie ist.InformationsquelleAutor unwind
Können Sie nicht verwenden
extern
mit makro. aber wenn Sie möchten, dass Ihre Makros gesehen, die von vielen C-Dateienstellen Sie Ihre makro-definition
in eine header-Datei wie def.h
dann Ihre def.h in Ihrem C-code und dann können Sie Ihr makro in Ihre C-Datei in alle anderen C-Datei, wenn Sie def.h
extern
nicht gelten.Ich meinte nicht die Verwendung von extern-I ean kann er definieren, was er makro in der header-Datei, dann kann er sehen, dass es von seiner C-Dateien . kann sein, ich habe um genauer zu sein werde ich update meine Antwort
InformationsquelleAutor MOHAMED