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

Langage Perl Discussion :

Out of memory!


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 22
    Par défaut Out of memory!
    Bonjour.
    Le script suivant que je lance sous Dos affiche le message d'erreur "Out of memory!".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    open (input1,'<xyztop.txt') || die "Pb d'ouverture du fichier";
    open (output1,'>Noeuds1.txt');
     
    $Dx=5;
    $Dy=10;
    $Dz=0.5;
     
    $Nx = 56;
    $Ny = 40;
    $Nz = 80;
     
    $nx = $Nx+1;
    $ny = $Ny+1;
    $nz = $Nz+1;
     
    $i=1;
    $n=100;
     
    for ($i=1;$i=$n;$i++)
    {
     
     $ligne=<input1>;
     @coo=split(" ",$ligne);
     @tab=("$coo[4]");
     pop (@tab);
    # print "@tab";
     
     
     $Ix=3;
     $Iy=6;
     $Iztop=20;
     $Izbottom=16;
     
     @tab=("$coo[4]");
    # print "@tab";
     
     
    	for($j=$Iztop;$j=$Izbottom;$j=$j-1)
    	{
    	 $tab[$j]=($Ix+($Iy-1)*$nx+($j-1)*$nx*$ny);
    	 $num=$tab[j];
    	 push(@tab,$num,);
    	}
     print output1 "$tab[0]";
     print output1 "\n";
     print output1 "$tab[1]";
     print output1 "\n";
     
    	for($j=$Iztop-1;$j=$Izbottom+1;$j=$j-1)
    	{
    	 print output1 "$tab[$j];";
    	}
     print output1 "\n";
     print output1 $tab[$#tab];
    }
    Comment expliquer qu'une telle chose puisse se produire?
    Que faudrait-il faire? Diviser le problème en plusieurs scripts différents?

    Merci d'avance.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Par défaut
    le probleme vient de tes boucles for(; qui ne trouvent jamais leur condition d'arret, car tu a mis "=" au lieu de "==" dans ton test.
    Du coup j'imagine que tu ecris à des indices tres elevés dans ton tableau, remplissant la memoire....

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 22
    Par défaut
    Bonjour et merci au membre approuvé que vous êtes.
    Bonne soirée.

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

Discussions similaires

  1. [XStream][String]out of memory
    Par Invité dans le forum Persistance des données
    Réponses: 8
    Dernier message: 10/01/2006, 14h52
  2. [C++] [gcc] out of memory
    Par fxp17 dans le forum GCC
    Réponses: 5
    Dernier message: 06/01/2006, 10h29
  3. [pb mémoire] out of memory d'eclipse
    Par Casp dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 12/05/2005, 16h39
  4. Out of memory
    Par shurato dans le forum ANT
    Réponses: 1
    Dernier message: 10/11/2004, 16h19
  5. [JBuilder 8] Out of memory problem ...
    Par keros dans le forum JBuilder
    Réponses: 2
    Dernier message: 08/09/2003, 19h03

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