Maison >développement back-end >C++ >Comment partager des variables globales entre plusieurs fichiers C/C ?
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!