Maison >développement back-end >C++ >Comment partager des variables globales entre plusieurs fichiers C/C ?

Comment partager des variables globales entre plusieurs fichiers C/C ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-07 17:13:12459parcourir

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

Accès aux variables globales dans plusieurs fichiers en C/C

Lorsque vous travaillez avec plusieurs fichiers sources dans un programme C/C, il est souvent nécessaire de partager des variables globales entre eux. Ceci peut être réalisé par diverses méthodes, notamment des déclarations statiques et externes ou en utilisant un fichier d'en-tête.

Considérez l'exemple fourni :

source1.cpp:

int global;

int function();

int main()
{
    global = 42;
    function();
    return 0;
}

source2.cpp:

int function()
{
    if (global == 42)
        return 42;
    return 0;
}

Solution 1 : Fichier d'en-tête avec extern

L'approche préférée consiste à déclarer la variable globale extern dans un fichier d'en-tête inclus par les deux sources fichiers :

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

Cela garantit que la déclaration de global est visible à la fois fichiers source, mais une seule définition de celui-ci est présente (dans source1.cpp). Le mot-clé extern précise que la variable est déclarée ailleurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn