IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Variables globales


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par PRomu@ld
    Je pense que le principal problème de variables globales (et on parle bien de variables, pas de constante), est tout simplement due à sa portée, et donc à sa durée de vie, et par association à l'utilisation mémoire que cela engendre.
    Portée et durée de vie n'on rien à voir. Dans le cas précis, c'est la portée le problème. L'utilisation de globales piétine le principe de base qui veut que
    La portée des objets et des fonctions est réduite à leur strict minimum
    En revanche, j'ai entendu dire que les variables globales étaient plus interressantes en terme de performance. N'ayant aucune information supplémentaire et preuves à l'appui, je ne peux pas confirmer ou infirmer ceci.
    C'est possible, mais des mesures restent à faire au cas par cas pour le prouver. Si on utilise pas de globales, l'acces se fera au minimum par un pointeur (nombre à réduire pour augmenter les perfs). Si l'accès indirect est réellement pénalisant, alors OK, on utilisera une globale. Mais ce sera suite à un choix clairement motivé, et certainement pas l'option par défaut dite 'paresseuse'.

  2. #2
    Membre éclairé
    Inscrit en
    Janvier 2005
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 491
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par vinzzzz
    Je trouve cette idée trés bonne, mais par contre l'idée de passer la structure en paramètre dans chaque fonction me dérange un peu. Je trouve ca un peu lourd de faire passer le pointeur a travers tout l'enchainement de fonction. Mais ce n'est qu'une question de gout .
    Il va falloir dépasser ça, parce que c'est la seule façon sérieuse de programmer en C. En C++ ou en Java, ce pointeur est devenu 'invisible' (this).
    Je ne parlai pas du fait qu'on passe un pointeur a une fonction... mais du fait de trimbaler la structure dans tous les prototypes de fonctions.

    Et j'avais en fait compris de travers ce que Jack_serious avait dit: je pensais qu'il préconisai d'instancier la structure contenant les variables dans le main pour ensuite la transmettre à toutes les autres fonctions... et donc envoyer le pointeur a toutes les fonctions qui sont susceptibles d'appeler une fonction qui appellera une autre fonction (...) jusqu'aux fonctions utilisant les variable...

    Bref autant pour moi j'aurai du lire (et réfléchir d'ailleur) plus attentivement.


    Citation Envoyé par Emmanuel Delahaye
    Citation:
    Finalement j'opterai plutôt pour une structure globale qui contiendrai toutes mes variables globales.
    Ouiiiin! Il n'a rien compris... Tu n'as donc pas envie de programmer comme les grands ? Regarde GTK+, c'est un modèle du genre. Sans aller si loin, l'objet FILE du C standard est aussi un bon exemple.
    Oui la méthode de Jack_serious est bien meilleure.

    Citation Envoyé par Emmanuel Delahaye
    Tu n'as donc pas lu le lien que je t'ai passé au debut ?
    Pourtant si... et le site m'a été bien utile pour reprendre les bases du C. Mais concernant les variables globales ca n'a pas du me convaincre sur le coup.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Variable globale / Propriété des threads
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 03/10/2003, 10h49
  2. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20
  3. Variable "globale" (dans plusieurs templa
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/06/2003, 19h22
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo