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 :

[Tableau] taille maximum


Sujet :

C

  1. #1
    Membre actif Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Points : 249
    Points
    249
    Par défaut [Tableau] taille maximum
    J'utilise Borlande C++ 5.02 avec Win2000
    projet: platform Win32
    Je voulais déclarer un tableau de 327 680 doubles en statique mais lors de la compilation, j'ai le message: écriture non autorisé à l'adresse xxxx

    Question: je voudrais savoir si le problème vient de la taille trop importante du tableau
    Si c'est le cas, quelle est la taille max
    Ou si le probleme est autre


    Merci de votre aide

  2. #2
    Membre habitué Avatar de Kimael
    Inscrit en
    Avril 2002
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 151
    Points : 159
    Points
    159
    Par défaut
    Tu as combien de Mo en RAM :

    désolé...
    C'est vrai que ça fait beaucoup de place quand même... Tu devrais chercher dans une doc C c'est le langage qui doit limiter ça, pas le système ! J'espère......
    Membre du comité "Mort aux cons ! ARG..."
    Plus on essaye, et plus on a de chances de réussir... proverbe Shadok.
    Pensez au tag [Résolu], merci.

  3. #3
    Membre actif Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Points : 249
    Points
    249
    Par défaut
    Je ne pense pas que ce soit le système: 256 Mo de Ram et elle n'est pas pleine.


  4. #4
    Membre éclairé
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Points : 750
    Points
    750
    Par défaut
    T'as vraiment besoin de mettre ca en statique ? Tu peux pas faire une alloc dynamique et calculer tes variables (ca prend trop de temps) ?
    Sinon, tu as peut-etre des options dans ton compilo pour specifier la taille du modele. Car ton tableau va prendre deja 1 Mo en memoire.

    Au fait, c'est le compilateur qui te donne un message d'erreur, ou il plante et c'est windows qui te dit que Borland a plante ?

  5. #5
    Membre actif Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Points : 249
    Points
    249
    Par défaut
    C'est le compilateur qui plante.
    pour ce qui est des options, je n'ai rien trouvé

  6. #6
    Membre habitué Avatar de Kimael
    Inscrit en
    Avril 2002
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 151
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par vasilov
    Je ne pense pas que ce soit le système: 256 Mo de Ram et elle n'est pas pleine.

    Je voulais dire que j'espère que ce n'est pas le système qui interdit (NON AUTORISEE tu as dit) de créer une zone de 1Mo en RAM (mal exprimé, c'est ça de déconner aussi....) !
    Membre du comité "Mort aux cons ! ARG..."
    Plus on essaye, et plus on a de chances de réussir... proverbe Shadok.
    Pensez au tag [Résolu], merci.

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2003
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    pourrait tu poster ton code car ton probleme peut provenir de diverses sources

  8. #8
    JEG
    JEG est déconnecté
    Membre éclairé
    Avatar de JEG
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 211
    Points : 727
    Points
    727
    Par défaut
    Je te dirais bien de faire une allocation dynamique à la place de statique, ca marcherait tout de suite mieux je pense....

  9. #9
    Membre éclairé
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Points : 750
    Points
    750
    Par défaut
    Citation Envoyé par vasilov
    C'est le compilateur qui plante.
    pour ce qui est des options, je n'ai rien trouvé
    Essaye une version plus recente du compilo, ou d'aller sur le site de borland pour voir si y'a des corrections/FAQ ?

    Sinon, tu peux toujours essayer de taper ton message d'erreur dans google avec Borland 5.02 pour voir si t'es pas le seul.

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2002
    Messages : 290
    Points : 325
    Points
    325
    Par défaut
    Citation Envoyé par Kimael
    Citation Envoyé par vasilov
    Je ne pense pas que ce soit le système: 256 Mo de Ram et elle n'est pas pleine.

    Je voulais dire que j'espère que ce n'est pas le système qui interdit (NON AUTORISEE tu as dit) de créer une zone de 1Mo en RAM (mal exprimé, c'est ça de déconner aussi....) !
    Ben si c'est sur la pile ca fait bcp quand meme...

  11. #11
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    677
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 677
    Points : 638
    Points
    638
    Par défaut
    en tableau statique, bcc5.5 se plante non pas à la compile mais à l'exécution

    avec un tableau dynamique, ça passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       int main () {
          //double tab [327680]; // se plante à l'exécution
          double * tab;
          int i;
          tab = new double [327680];
          for (i=0;i<327680;i++)
             tab [i] = 1.0;
          return 0;
       }

  12. #12
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2002
    Messages : 290
    Points : 325
    Points
    325
    Par défaut
    Citation Envoyé par HRS
    en tableau statique, bcc5.5 se plante non pas à la compile mais à l'exécution

    avec un tableau dynamique, ça passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
       int main () {
          //double tab [327680]; // se plante à l'exécution
          double * tab;
          int i;
          tab = new double [327680];
          for (i=0;i<327680;i++)
             tab [i] = 1.0;
          return 0;
       }
    tu dois pouvoir augmenter la taille de la pile pour que ca passe (si ca a un interet)

  13. #13
    Membre actif Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Points : 249
    Points
    249
    Par défaut
    merci beaucoup , ca marche tres bien maintenat.
    Je ne connaissais pas l'operateur new et n'utiliser que malloc pour l'allocation dynamique .
    J'étais également en c et pas c++ node.

    merci

  14. #14
    Membre habitué Avatar de Kimael
    Inscrit en
    Avril 2002
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 151
    Points : 159
    Points
    159
    Par défaut
    Citation Envoyé par vasilov
    merci beaucoup , ca marche tres bien maintenat.
    Je ne connaissais pas l'operateur new et n'utiliser que malloc pour l'allocation dynamique .
    J'étais également en c et pas c++ node.

    merci
    ARf, New et Delete c'est de l'objet !
    OBJET POWER !!!!!
    ARf
    Membre du comité "Mort aux cons ! ARG..."
    Plus on essaye, et plus on a de chances de réussir... proverbe Shadok.
    Pensez au tag [Résolu], merci.

  15. #15
    Membre actif Avatar de vasilov
    Inscrit en
    Juillet 2003
    Messages
    306
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 306
    Points : 249
    Points
    249
    Par défaut
    Même si new et delet sont de l'objet, l'allocation dynamique avec new marche pour des tableaux beaucoup plus grand.

    En effet new est beaucoup plus puissant que malloc

    Merci à HRS qui m'a fait découvrir mon promier opération d'objet
    (Donc mon source en en .cpp )

  16. #16
    Expert éminent sénior

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 751
    Points : 10 671
    Points
    10 671
    Billets dans le blog
    3
    Par défaut
    Même si new et delet sont de l'objet, l'allocation dynamique avec new marche pour des tableaux beaucoup plus grand.
    Je vois pas pourquoi new pourrait allouer de plus grand tableaux que malloc. D'autant plus que souvent new se sert de malloc pour allouer ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Taille maximum des champs courants
    Par sabbish dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 29/11/2013, 13h48
  2. taille maximum de tableau
    Par astroflo dans le forum Fortran
    Réponses: 2
    Dernier message: 24/06/2009, 13h37
  3. Comment obtenir un tableau à taille variable ?
    Par marsupilami34 dans le forum Langage
    Réponses: 6
    Dernier message: 27/06/2005, 15h03
  4. taille maximum d'un div
    Par Anduriel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 13/05/2005, 21h32
  5. Taille maximum de tableau en Delphi
    Par yannick37 dans le forum Langage
    Réponses: 5
    Dernier message: 03/03/2004, 13h18

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