Variables globales sur plusieurs sources

Résolu
repial Messages postés 26 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 8 février 2009 - 9 oct. 2008 à 18:08
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011 - 7 déc. 2008 à 12:06
Bonjour, bonjour,

je cherche une méthode pour déclarer des variables dans un fichier auxquelles chaque source du code peut avoir potentiellement accès (y compris à leur valeur). Des variables 'super' globales en fait. Je sais que ça se fait facilement en Fortran, mais en c++ je n'ai pas réussi à faire ce que je voulais avec les header.

Typiquement en imaginant un gros code de calcul scientifique, il est pratique moyennant une simple ligne de rendre disponible dans le fichier tous les champs de vecteurs, potentiels etc ... et ce pour n'importe quelle source ou l'on en aurait besoin.

En espérant ne pas avoir été trop confus !

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
9 oct. 2008 à 19:51
fichier common.c
int v = 0;
int r = 0;

fichier common.h
#ifndef COMMON_H
#define COMMON_H
extern int v;
extern int r;
#endif

Tous les fichiers voulaunt utiliser les variables communes auront:
#include "common.h"

ciao...
BruNews, MVP VC++
3
repial Messages postés 26 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 8 février 2009
10 oct. 2008 à 17:19
merci bien !
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
7 déc. 2008 à 12:06
Yep. Désolé pour ce "up" mais ça m'évite d'ouvrir un nouveau topic pour le même problème.
Jusqu'à maintenant, n'utiliser qu'un seul .cpp et balancer toutes mes fonctions dans des headers, ça ne me génait pas. Depuis peu, j'ai voulu être plus rigoureux, et ne mettre que les prototypes dans ces headers.
J'ai donc, après quelques recherches, découpé mon projet en plusieurs fichiers .cpp selon les modules (un fichier pour la fenêtre, un autre pour les fonctions de traitement de texte, etc) et créé un header pour chaque .cpp contenant les prototypes. Ensuite j'ai inclut les headers dans les autres fichiers .cpp qui avaient besoin de ces fonctions. Quant aux variables globales, j'ai fait comme l'a dit BruNews et tout se compile proprement.
Si quelqu'un passe par là : est-ce la meilleure méthode ?
En tout cas, merci BruNews, tu en aides plus d'un

Cordialement, uaip.
0
Rejoignez-nous