Heim > Backend-Entwicklung > C++ > Wie teile ich globale Variablen zwischen mehreren C/C-Dateien?

Wie teile ich globale Variablen zwischen mehreren C/C-Dateien?

Barbara Streisand
Freigeben: 2024-12-07 17:13:12
Original
524 Leute haben es durchsucht

How to Share Global Variables Between Multiple C/C   Files?

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;
}
Nach dem Login kopieren

source2.cpp:

int function()
{
    if (global == 42)
        return 42;
    return 0;
}
Nach dem Login kopieren

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;
Nach dem Login kopieren

source1.cpp:

#include "common.h"

int global;  // Only define it in one file

int function();

int main()
{
    global = 42;
    function();
    return 0;
}
Nach dem Login kopieren

source2 .cpp:

#include "common.h"

int function()
{
    if (global == 42)
        return 42;
    return 0;
}
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage