Bonjour,
j'ai un petit soucis avec des variables static et je voudrais bien quelque complément d'info car mes recherches n'aboutissent pas.
J'ai une solution sous visual C++ qui contient un projet (.exe) et deux projets (.lib).
Dans le projet CoucheBasse.lib, j'ai un fichier .h ou je stocke des paramètres de calcul dans un fichier param.h.
Toutes les variables de param.h sont déclarer comme ceci :
Dans mon projet CoucheHaute.lib, j'ai un fichier Init.cpp qui initialise certain paramètre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part static double testStatic = 8;
Ce bout de code me retourne bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
J'utilise ensuite ma variable static dans le code de CoucheBasse.lib et la surprise, je ne retrouve pas ma variable à la valeur à laquelle je l'ai initialisé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Ce bout de code me retourne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
Alors que le résultat attendu est :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Je croit comprendre que chaque lib fait une instance de la variable static testStatic. Mes recherches sur le net semble le confirmer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
Question : comment faire pour assurer de travailler sur une seule et même instance de testStatic dans les différents .lib ?Je sais que lorsqu'on a plusieurs projets qui lient avec une même bibliothèque statique ils ont chacun leurs instances des variables statiques
J'ai tenté de jouer avec le mots clé EXTERN mais le résultat est inchangé.
Merci à vous.

 

 
		
		 
        

 
			
			


 
   


 Partage de variable static entre deux lib
 Partage de variable static entre deux lib
				 Répondre avec citation
  Répondre avec citation

 
  
  
 
 
  
  
 
 
			 
  
				
 Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
 Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.

 
			
Partager