rebonjour, toujours dans la serie des outils, j'en suis au memory manager.
j'ai a peu pres respecté tout ce qu'il y a ecrit ici
http://loulou.developpez.com/tutorie...artie1/#L2.2.2
et la --> http://www.flipcode.com/articles/article_memoryleaks.shtml
la compilation se passe assez bien (sous linux g++ 4.0)
mais l'execution n'est pas terriible
voici un pitit prog test
et voivi ce qu'il me sort a 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
21
22
23
24 #if _DEBUG #include "tools/OPNewDeleteOn.h" #endif struct test{ void print(){std::cout <<"bonjour"<<endl;} }; main(){ cout << "Avant test* A = new test;" << endl; test* A = new test; cout << "Avantdelete A;" << endl; delete A; } #if _DEBUG #include "tools/OPNewDeleteOff.h" #endif
les dans new, dans Instances, sont respectivement les fonctions de loulou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 elekis@ubuntu:~/stuff$ ./test Avant test* A = new test; dans new dans Instance dans delete dans Instance terminate called after throwing an instance of '__gnu_cxx::recursive_init' what(): N9__gnu_cxx14recursive_initE Abandon
http://loulou.developpez.com/tutorie...artie1/#L2.2.2
j'ai googelisé, que dalle...
j'aurais voulu savoir ce que veux dire cette erreur (c'est la premiere fois que je vois cette erreur la.)
a noté que si j'enleve le delete A, tout fonctionne impect (si ce n'est que j'ai une fuite de memoire)
et que l'erreur apres été isolé se trouve ici (enfin , je crois
anyidea???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CMemoryManager& CMemoryManager::Instance() { static CMemoryManager Inst; return Inst; }
merci
a+++
Partager