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 :

Problème d'allocation mémoire


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Problème d'allocation mémoire
    voilà je n'ai pas l'habitude de programmer sous visual, j'ai programmer ceci pour plusieurs tableaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    int **tab_coord_obstacle_pp = NULL;
    int **tab_coord_grav_secteur_pp = NULL;
    int *tab_secteur_interdit = NULL;
    double *tab_ponder_secteur = NULL;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	tab_coord_obstacle_pp = new int *[nb_obstacle];	
    	for(i=0;i<nb_obstacle;i++)
    	{
    		tab_coord_obstacle_pp[i] = NULL;
    		tab_coord_obstacle_pp[i] = new int[2];
    	}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	tab_coord_grav_secteur_pp = new int *[nb_secteur];	
    	for(i=0;i<nb_secteur;i++)
    	{
    		tab_coord_grav_secteur_pp[i] = NULL;
    		tab_coord_grav_secteur_pp[i] = new int[2];
    	}
     
    	tab_secteur_interdit = new int[nb_secteur]; 	tab_ponder_secteur = new double[nb_secteur];
    Donc j'ai 4 tableaux dont 2 de 2 dimensions et 2 à 1 dimension. Le premier passe bien ça marche plutôt bien mais pour le deuxième et les suivants il plante et me met erreur mémoire.

    Je ne peux pas débugger sous visual pour une raison obscure peut être du au fait que je programme pour un robot. Je sais pas.

    Enfin quelqu'un pourrait me dire si mon allocation est bonne sachant que je n'ai pas une erreur à la compil.

    Merciiiiiii[/code]

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Il manque les déclarations de tab_coord_grav_secteur_pp, tab_secteur_interdit et tab_ponder_secteur.
    Boost ftw

  3. #3
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Il n'y a pas d'erreur à ce niveau.
    Boost ftw

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Du coup d'ou pourrait venir mon erreur mémoire car quand je les mets en commentaire ça marche donc c'est bizarre ! J'avoue que je comprend pas très bien là je suis perdue.

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Après différent test mon programme plante dans la boucle de la deuxième allocation à la deuxième itération !

    Quelqu'un pourrait-il me dire pourquoi ?

    Merci ! (Il me dit que la mémoire ne peut être "written" écrite quoi.)


  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Peut-être parce que tu en consommes trop sans jamais rien libérer ?
    Boost ftw

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    La première fois que je l'ai éxécuté je les avais pas libéré mais là si ils sont libérés à la fin de mon programme mais il n'atteint jamais ce stade.

    Mais je pense pas que ce soit ça car l'adresse qu'il me donne dans laquelle il ne peut écrire n'est pas bonne il me donne un truc du genre 0000004 à la fin.

    Je suis vraiment bloquée je vois pas d'où ça vient.

  8. #8
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Petite info supplémentaire si ça peut aider il ne plante pas à la même itération à chaque fois ! Mais toujours dans les premières et j'en ai 1000 à faire.

  9. #9
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Les boucles sont correctes. Le genre de plantage dont tu parles me ferait plutôt penser à un bug ailleurs, en amont dans ton code, comme un dépassement d'indices sur un tableau, une erreur d'allocation ou tout autre type d'écrasement de mémoire.

    NB : sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tab_coord_obstacle_pp[i] = NULL; 
    tab_coord_obstacle_pp[i] = new int[2];
    la première instruction ne sert à rien.

  10. #10
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Merci effectivement je suis très nulle j'ai fait démarrer mes indices à 1 au lieu de 0 pour mes tableaux !!!

  11. #11
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Si c'est réglé mettre le tag
    Formateur expert .Net/C#/WPF/EF Certifié MCP disponible sur Paris, province et pays limitrophes (enseignement en français uniquement).
    Mon blog : pragmateek.com

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

Discussions similaires

  1. Problème d'allocation mémoire > 2Go
    Par tnarol dans le forum C++
    Réponses: 19
    Dernier message: 09/07/2008, 12h03
  2. Problème d'allocation mémoire
    Par Fibus dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 10/01/2008, 16h35
  3. Problème d'allocation mémoire
    Par elmayor1983 dans le forum C++
    Réponses: 5
    Dernier message: 14/02/2007, 10h08
  4. Problème d'allocation mémoire et fork
    Par Conap dans le forum Langage
    Réponses: 3
    Dernier message: 20/07/2006, 15h34
  5. Problème d'allocation mémoire
    Par araya dans le forum C
    Réponses: 2
    Dernier message: 04/05/2006, 20h03

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