Variables Globales, statiques, locales ?

Signaler
Messages postés
246
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
11 mars 2012
-
Messages postés
246
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
11 mars 2012
-
G pu voir dans la plupart des tutos OpenGL que g lus, que les variables
devant servir dans des parties différentes de prog étaient déclarées de
manière globale. Ca ne pose aucun problème ? Je ne suis pas fort en
matière de fonctionnement assembleur, mais mes professeur de DUT m'ont
toujours certifié qu'il fallait mieux éviter l'emploi des variables
globale et qu'i lfallait mieux les remplacer par des variables
statiques paske sinon on pouvait rencontrer des "effets de bord" dus à
ces variables. Je ne dément pas ce qu'ils disent mais je proguais avant
et je me rappelle pas avoir eu de réel problème. Enfin, je pose la
question sur un forum de programmation donc je pense que certaines
personnes ici sont plus aptes que moi à répondre à ce genre de
questions.

<hr size="2" width="100%"> Qui ne tente rien...

Ne risque pas d'avoir grand chose !!!

<hr siz="">

6 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Quand on fait du graphique (autres traitements lourds idem) faut faire quelques entorses aux lois canon de la POO, par exemple on minimise le passage de paramètres (c'est couteux) au profit de variables globales. Ensuite sera au chef de projet de vérifier la rigueur du code pour éviter effets de bords et autres désagréments.

ciao...
BruNews, MVP VC++
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
10
Les variables statiques, ce sont des variables globales, non? Globale dans le sens ou elles sont dans le segment data et pas dans la pile
Messages postés
246
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
11 mars 2012

pour moi la seule différence qu'il y avait entre static et local ct
qu'elles avait la même adresse quelle que soit la fonction. Après,
savoir ou exactement elle est stockée, ????

<hr size="2" width="100%"> Qui ne tente rien...

Ne risque pas d'avoir grand chose !!!

<hr siz="">
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
10
Je vois pas ce que tu veux dire la... et quand tu dis static, c'est dans quel sens du terme? Le static du C, ou celui des classes C++.
Pour moi le static du C, c'est pour dire qu'une variable globale n'est accessible que dans la fonction ou elle est déclarée (on peut donc considérer que c'est une var locale, mais sa durée de vie est celle d'une variable globale, elle n'est donc pas sur la pile (impossible de savoir à tout moment ou elle serait dans la pile))
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
30
Bien entendu une 'static var' d'une fonction C n'est qu'une var globale que le langage C interdit de référencer ailleurs que dans la fonction mais en interne, ce n'est rien d' plus qu'une var globale du registre data. Un peu d'asm inline et on y accède sans problème.

ciao...
BruNews, MVP VC++
Messages postés
246
Date d'inscription
mercredi 5 janvier 2005
Statut
Membre
Dernière intervention
11 mars 2012

oui, je sais, et d'ailleurs je ne vois vraiment pas kels genres de pb
peuvent engendrer les variables globales en fait. O fét,pour le moment
je prog uniquement en C, fo ke je me mette o C++ mais je devrais avoir
des cours dessus l'année prochaine et je prefere donc me concentrer sur
qqc ke je v pas voir en cours !

<hr size="2" width="100%"> Qui ne tente rien...

Ne risque pas d'avoir grand chose !!!

<hr siz="">