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 C++ / OpenCV


Sujet :

C++

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Problème d'allocation mémoire C++ / OpenCV
    Bonjour

    j'ai cherché à résoudre mon problème toute la nuit et je ne trouve pas de solution; Voici le message d'erreur :

    "Erreur de segmentation (core dumped)"

    Voici la fonction qui fait bugger à l'execution.
    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
     
    Mat BlurringFBA (Mat vfft)
    {
    int i=0, j=0;
    int n = vfft.rows;
    int m = vfft.cols;
    Mat win(n, m, CV_32FC1);
    Mat wout(n, m, CV_32FC1);
     
    for (i=0;i<n;i++)
    	for (j=0; j<m; j++)
    		{
    			Vec3b v = vfft.at<Vec3b>(i,j);
    			v[0] =1/3*( fabs(v[0]) + fabs(v[1]) + fabs(v[2])) ; 
    			win.at<double>(i,j)=v[0];
    		}  
    double var = min(m,n)/50;
    GaussianBlur(win, wout, Size(3,3) , var, var);  
    return wout;	
    }
    cette fonction est appelée plusieurs fois dans le main() mais à l’exécution, elle s'appelle une fois et plante ensuite, avant même d’être rappelée, pour preuve, malgré :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Mat w1 = BlurringFBA (vfft1);
    cout<<"hello"<<endl;
    Mat w2 = BlurringFBA (vfft2);
    l'affichage de "hello" ne se fait pas sur le terminal.

    Quelqu'un peut-il m'expliquer comment éviter ce genre de plantage et me donner une solution dans ce cas précis ?

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Points : 718
    Points
    718
    Par défaut
    Salut,

    Pour déboguer, l'affichage de message n'est pas du tout recommandé. Surtout pour une erreur de segmentation.

    Connais-tu un débogueur? (GDB ou autre).

    Sinon, je suppose que ton erreur vient d'ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double var = min(m,n)/50;
    Ta variable doit sans doute toujours être initialisée à 0: tu divises 2 entiers.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour

    Merci pour votre réponse.

    Le debugger GDB me renvoie ceci après le bt :

    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
     
    #0  0x00007ffff6a1fcc9 in __GI_raise (sig=sig@entry=6)
        at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
    #1  0x00007ffff6a230d8 in __GI_abort () at abort.c:89
    #2  0x00007ffff7024535 in __gnu_cxx::__verbose_terminate_handler() ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #3  0x00007ffff70226d6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #4  0x00007ffff7022703 in std::terminate() ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #5  0x00007ffff7022922 in __cxa_throw ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #6  0x00007ffff70741a7 in std::__throw_logic_error(char const*) ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #7  0x00007ffff707f9b1 in char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #8  0x00007ffff707fd48 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) ()
       from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
    #9  0x0000000000401832 in main (argc=1, argv=0x7fffffffdfb8) at Main.cpp:75
    j'ai modifié mon code en écrivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    double var = min(double(m), double(n))/50;
    Mais l'erreur persiste...
    et je n'ai pas le bagage info pour interpréter le diagnostique du GDB...

    Merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Vu que l'erreur provient de la ligne 75 de Main.cpp sur la construction d'une std::string, j'ai des doutes que double var = min(double(m), double(n))/50; soit impliqué.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2015
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    La ligne 75 correspond au début du main(). Ce sont des importations d'images couleur qui semble parfaitement fonctionner.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Mat vtild1 = imread(argv[1], CV_LOAD_IMAGE_COLOR);
    Que signifient les autres lignes du diagnostique ?

    Merci

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Points : 718
    Points
    718
    Par défaut
    Vérifies-tu que argv[1] existe? (avec argc). C'est tout bête mais quand on débute, on a très souvent ce genre d'erreur.

  7. #7
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 53
    Points : 85
    Points
    85
    Par défaut
    essai ca si tu n'es pas a l'aise avec GDB, mais il faudrait que tu apprennes a l'utiliser c'est plus pratique que des printf de debug :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (argv[1])
         Mat vtild1 = imread(argv[1], CV_LOAD_IMAGE_COLOR);
    else
         printf("arg[1] est NULL donc forcement ca risque pas de marcher\nNombre d'argument = %d\n", argc);

    EDIT : oups j'ai tellement pas l'habitude de voir des fonctions hors classe en cpp que j'ai repondu en C

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (argv[1])
         Mat vtild1 = imread(argv[1], CV_LOAD_IMAGE_COLOR);
    else
    {
         std::cout << "arg[1] est NULL donc forcement ca risque pas de marcher" << std::endl;
         std::cout << "Nombre d'argument = " << argc << std::endl;
    }

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Tester une variable qui n'existe pas c'est le meilleur moyen de crasher..
    A moins que ton appel à main se termine toujours avec un paramètre NULL comme dans d'anciennes interfaces C ? J'en sais rien, par défaut j'en doute.
    Comme dit plus haut, il existe argc pour vérifier cela.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  9. #9
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 53
    Points : 85
    Points
    85
    Par défaut
    Si tu fais :

    if (argv[1]) tu testes l'existance de argv[1] c'est equivalent a if (argv[1] != nullptr) ya aucune raison que ca plante, si argv[1] existe on entre dans le corps du if, sinon argv[1] est nul donc on y entre pas

  10. #10
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Et si argv est un tableau de taille 1?

    Donc on teste argc.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  11. #11
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 53
    Points : 85
    Points
    85
    Par défaut
    Ba si il est de taille 1 argv[1] n'est pas defini donc ca rentre pas dans le if.. Je suis bien d'accord que ca fonctionne tres bien en utilisant argc mais cette methose fonctionne aussi

  12. #12
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Effectivement, si argv est de taille 1, argv[1] n'est pas défini, mais il n'est pas nul pour autant, tu vas très certainement rentrer dans ton if avec un pointeur invalide, c'est un des jolis undefined behaviour hérités du C
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  13. #13
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par nibors Voir le message
    Ba si il est de taille 1 argv[1] n'est pas defini donc ca rentre pas dans le if.. Je suis bien d'accord que ca fonctionne tres bien en utilisant argc mais cette methose fonctionne aussi
    On est en C++, pas en LUA.

    Btw, argv contient toujours au moins 1 élément, le nom du programme lancé, et finit par un 0 http://en.cppreference.com/w/cpp/language/main_function
    Mais tester argv[1] ainsi reste une très mauvaise pratique. Ce n'est pas ainsi qu'on test les limites d'un tableau.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  14. #14
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 53
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par dragonjoker59 Voir le message
    Effectivement, si argv est de taille 1, argv[1] n'est pas défini, mais il n'est pas nul pour autant, tu vas très certainement rentrer dans ton if avec un pointeur invalide, c'est un des jolis undefined behaviour hérités du C
    Au lieu de te baser sur des "tres certainement" tu devrais plutôt tester et te rendre compte par toi meme que ca marche

  15. #15
    Expert éminent sénior

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 045
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 045
    Points : 11 368
    Points
    11 368
    Billets dans le blog
    10
    Par défaut
    Mea culpa.

    Je me suis basé sur les tableaux classiques pour répondre.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  16. #16
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 53
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par Bousk Voir le message
    On est en C++, pas en LUA.

    Btw, argv contient toujours au moins 1 élément, le nom du programme lancé, et finit par un 0 http://en.cppreference.com/w/cpp/language/main_function
    Mais tester argv[1] ainsi reste une très mauvaise pratique. Ce n'est pas ainsi qu'on test les limites d'un tableau.
    Premierement je n'ai jamais touché a du LUA donc je ne comprend pas ta comparaison désolé .

    Deuxiemement, evidement que tester argv[1] de cette maniere n'est pas propre (meme si cela fonctionne) mais on a ici a faire a un debutant en cpp (dans le bon sens du terme, ce n'est pas péjoratif ) et mon exemple avait pour but de mettre en évidence ce qui pose probleme avec un petit std::cout bien explicite lui montrant ce que ne va pas

  17. #17
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 965
    Points
    32 965
    Billets dans le blog
    4
    Par défaut
    Non mais le truc c'est que tu racontes un peu n'importe quoi
    Citation Envoyé par nibors Voir le message
    Ba si il est de taille 1 argv[1] n'est pas defini donc ca rentre pas dans le if..
    si argv[1] n'est pas défini ça fait n'importe quoi et c'est indéterminé. Et ça n'a surtout absolument aucune raison d'être évalué à false pour le if et donc de ne pas y rentrer.

    Et à fortiori un débutant on lui apprend les bonnes pratiques, l'utilisation de argc, et non un hack qui fonctionne uniquement dans un cas particulier.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  18. #18
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Et ça n'a surtout absolument aucune raison d'être évalué à false pour le if et donc de ne pas y rentrer.
    Bin si, dans le monde des bisounours où le chargeur de l'OS n'a jamais l'idée, complètement saugrenue, de mettre le tableau des paramètres argv de main en limite de page mémoire, bin sinon => segfault dans les dents.
    LOL

    if (argv[1] != nullptr) ya aucune raison que ca plante
    Putain, je veux le même chargeur de programme pour Noël, enfin un qui met toutes les cases adressables par le programme à 0 avant de commencer, et un OS qui remet toujours des 0 dans la pile après dépilage.
    Heu, c'est quoi ne nom de ton OS : bisounours-Linux ?

  19. #19
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Euh, la norme de dit-elle pas que argv[argc] existe et est un pointeur nul?

    (vérifie...)

    Edit: Oui, c'est dit (n3290 (C++11 draft), section 3.6.1 - basic.start.main, verset 2: "The value of argv[argc]shall be 0."), par contre, la norme ne dit pas du tout que argc n'est jamais nul.

    En revanche, il est possible que des normes comme POSIX garantissent de toujours remplir argv[0] avec le nom du programme tel qu'invoqué (garantissant donc que argc soit strictement positif), mais je ne trouve pas confirmation (ma source principale de référence sur le standard POSIX ne semble pas avoir de page pour main()).
    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.

  20. #20
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2015
    Messages : 53
    Points : 85
    Points
    85
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Bin si, dans le monde des bisounours où le chargeur de l'OS n'a jamais l'idée, complètement saugrenue, de mettre le tableau des paramètres argv de main en limite de page mémoire, bin sinon => segfault dans les dents.
    LOL


    Putain, je veux le même chargeur de programme pour Noël, enfin un qui met toutes les cases adressables par le programme à 0 avant de commencer, et un OS qui remet toujours des 0 dans la pile après dépilage.
    Heu, c'est quoi ne nom de ton OS : bisounours-Linux ?
    Au lieu de faire le kéké et de prendre les gens de haut tu refflechie 2 sec (2 sec c'est pas long tu vas y arriver j'espere je pense) , argv est terminé par null (un petit tour sur cpp reference : ARGV: Pointer to the first element of an array of pointers to null-terminated multibyte strings), argv[0] contient le nom du prog (Nan sans dec ?) donc soit le prog est executé sans arg et argv[1] est null, soit avec un ou plusieurs arg et argv[1] vaut ba le premier arg. Au mon Dieu et tout ca sans bisounours, juste en lisant la norme cpp c'est fou ça .

Discussions similaires

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

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