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
Barbara StreisandOriginal
2024-12-07 17:13:12459Durchsuche

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;
}

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!

Stellungnahme:
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