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 :

Mémoire statique/dynamique ?


Sujet :

C++

  1. #21
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par befalimpertinent Voir le message
    Dans ce cas ne devrait-il pas en faire un singleton ? (mémoire statique)
    devrait, je ne pense pas. "pourrait" sans doute. La motivation étant plutôt dans le style de programmation ou l'autodocumentation du code.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  2. #22
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Sous linux, elle peut être modifiée via ulimit.
    La primitive BSD/Linux sstk (set stack size) permet de modifier dynamiquement la taille de la pile - mais ne fonctionne que sur certains processeurs -.
    Je n'ai vu fonctionner cette fonction que sur un vieux VAX tout vermoulu....
    Le défaut d'API n'interdit pas de faire sa propre cuisine et de constuire sa pile à partir d'une liste de blocks mémoire alloué sur le tas.
    -W
    Bon courage... surtout pour se substituer au compilateur
    On parle bien ici de code "inline", donc alloué par un simple déplacement de pointeur dans la THREAD Stack... Si il sagit d'allouer dans une pile annexe, ca revient a faire un new avec une allocation spécifique.

  3. #23
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 407
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #24
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 790
    Par défaut
    Citation Envoyé par nicroman Voir le message

    Sous linux, elle peut être modifiée via ulimit.
    La primitive BSD/Linux sstk (set stack size) permet de modifier dynamiquement la taille de la pile - mais ne fonctionne que sur certains processeurs -.
    Je n'ai vu fonctionner cette fonction que sur un vieux VAX tout vermoulu....
    Pour supporter cela l'architecture du VAX construit l'espace d'adressage d'un processus sur deux tables de pages. Ce qui permet de distribuer nos régions précédentes (code et données statiques, pile et tas) sur 2 zones mémoires dont la gestion est assistée par le matériel.

    Sur les processeurs actuels nous avons en général 2 niveaux de page de tables rendant cette possibilité beaucoup plus générique.


    Citation:
    Le défaut d'API n'interdit pas de faire sa propre cuisine et de constuire sa pile à partir d'une liste de blocks mémoire alloué sur le tas.
    -W
    Bon courage... surtout pour se substituer au compilateur
    On parle bien ici de code "inline", donc alloué par un simple déplacement de pointeur dans la THREAD Stack... Si il sagit d'allouer dans une pile annexe, ca revient a faire un new avec une allocation spécifique.
    Lorsqu'on développe des libraries de threads "lights", on passe du temps à switcher les registres d'un contexte à l'autre. La pile de chaque threadlet est allouée indépendamment l'une de l'autre dans le tas.

    Nous avons bien dans ce cas une "pile" - au sens contexte d'exécution - construite à partir de blocks mémoires alloués sur le tas et une mécanique pour passer de l'une à l'autre dont le compilateur n'a que faire.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 8
    Dernier message: 26/04/2012, 12h27
  2. Allocation de mémoire statique
    Par cmarcx dans le forum Delphi
    Réponses: 12
    Dernier message: 04/08/2007, 14h29
  3. probleme mémoire allouer dynamiquement
    Par Blo0d4x3 dans le forum C
    Réponses: 10
    Dernier message: 30/04/2007, 18h44
  4. Mémoire dynamique / Mémoire statique
    Par _LVEB_ dans le forum C++
    Réponses: 8
    Dernier message: 03/04/2007, 00h33
  5. librairie statique/dynamique
    Par trop_wizz dans le forum MFC
    Réponses: 4
    Dernier message: 11/04/2005, 11h04

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