Heim >Backend-Entwicklung >C++ >Wie teile ich globale Variablen zwischen mehreren C/C-Dateien?
Zugriff auf globale Variablen über mehrere Dateien in C/C hinweg
Bei der Arbeit mit mehreren Quelldateien in einem C/C-Programm ist dies häufig der Fall Es ist notwendig, globale Variablen zwischen ihnen zu teilen. Dies kann durch verschiedene Methoden erreicht werden, einschließlich statischer und externer Deklarationen oder mithilfe einer Header-Datei.
Betrachten Sie das Beispiel bereitgestellt:
source1.cpp:
int global; int function(); int main() { global = 42; function(); return 0; }
source2.cpp:
int function() { if (global == 42) return 42; return 0; }
Lösung 1: Header-Datei mit extern
Der bevorzugte Ansatz besteht darin, die globale Variable zu deklarieren extern in einer Header-Datei, die von beiden Quellen enthalten ist Dateien:
common.h:
extern int global;
source1.cpp:
#include "common.h" int global; // Only define it in one file int function(); int main() { global = 42; function(); return 0; }
source2 .cpp:
#include "common.h" int function() { if (global == 42) return 42; return 0; }
Dadurch wird sichergestellt, dass die Deklaration von global für sichtbar ist beide Quelldateien, aber nur eine Definition davon ist vorhanden (in source1.cpp). Das Schlüsselwort extern gibt an, dass die Variable an anderer Stelle deklariert ist.
Das obige ist der detaillierte Inhalt vonWie teile ich globale Variablen zwischen mehreren C/C-Dateien?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!