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++Builder Discussion :

Taille d'une Classe limitée par builder ou la RAM?


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 135
    Points : 66
    Points
    66
    Par défaut Taille d'une Classe limitée par builder ou la RAM?
    Bonjour,


    J'ai créé une dizaine de Classes imbriquées les unes dans les autres par ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        TMaClass2
        {
            public:
                TMaClass1   MaClass1[10];
        }
     // et ainsi de suite...
    Pour vous dire que la taille de ma dernière Classe "MaDerniereClass" tourne autour de 92768 Octets.

    Je mets +ieurs MaDerniereClass dans un vector.
    Lorsque je veux en modifier une, j'ai une exception dû apparemment à sa taille, en effet, si j'enlève une variable quelconque à l'intérieur des mes classes, et que la taille est inférieure à 72128 Octets, mon application tourne correctement!

    Builder a t il des limites de se côté? C'est étonnant de ne pas pouvoir travailler sur des Classes ou des structures d'une centaine de Ko.

    Merci de m'aider s'il existe une commande ou qqch pour forcer/augmenter cette limite.

    Cordialement
    ;-)

  2. #2
    Membre chevronné
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    1
    Par défaut
    bonjour
    peux tu en dire un peu plus sur ton problème

    quand à la déclaration de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TMaClass1   MaClass1[10];
    tu utilise la pile qui a une valeur maximale par défaut de 400K
    en général on utilise l'allocation dynamique qui utilise le tas valeur théorique max 2 Go

    il te serait peut-être utile de revoir le design de tes classes

    NB:pense a mettre résolu sur les sujets précédemment postés avant d'en poster de nouveaux
    http://www.developpez.net/forums/sho...d.php?t=422012
    vous trouverez mes tutoriels à l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les règles du forum

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 374
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    Par défaut
    Salut !

    Son tableau n'est pas forcément créé sur la pile !

    Le problème peut venir de la mémoire disponible (en prenant en compte toutes les fuites... donc bien vérifier si on détruit ce qui doit l'être... parce que ça peut aller très vite).

    Il fait allusion à une imbrication de classes et dans ce cas il faudrait voir également s'il n'y a pas de récursivité ailleurs (c'est toujours possible... ici on ne sait pas).

    Il faudrait avoir plus de précisions sur le problème.

    A plus !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 135
    Points : 66
    Points
    66
    Par défaut
    ça ne doit pas concerner des fuites puisque ça se passe dès le lancement de mon application, enfin mon application se lance, donc mes classes se construisent et dès que je lance un form pour y modifier des paramètres avant celà j'ai cette violation.

    Il n'y a pas de récursivité non plus et effectivement je pense à un soucis de mémoire.

    Je ne peux pas allouer dynamiquement (donc créer au fur et à mesure) ces classes car des paramètres sont solicités tout le temps dès le lancement de l'application et ce sans ordre précis.

    Merci pour l'information des 400Ko, ça peut m'être utile.
    J'insiste sur le fait que "MaDerniereClasse" est par contre créé dynamiquement et est stockée à l'intérieur d'un vector.
    ;-)

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/12/2013, 12h15
  2. Réponses: 2
    Dernier message: 17/05/2009, 00h31
  3. Une classe accessible par pluieurs programmes
    Par brad1024 dans le forum C++
    Réponses: 7
    Dernier message: 29/05/2008, 23h28
  4. Réponses: 5
    Dernier message: 21/10/2007, 13h33
  5. Taille d'une classe et non d'une instance
    Par OrangeBud dans le forum Général Java
    Réponses: 1
    Dernier message: 12/04/2006, 12h08

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