Bonjour,
J'ai un programme dans lequel je crée des objets et des tableaux dynamiques. Je suis sur Mac, et je surveille avec le moniteur d'activité l'occupation mémoire de mon programme lors de son execution.
Le problème que j'ai constaté est que l'occupation mémoire augmente de façon constante tout au long de l'execution. J'ai donc tenter la manip suivante:
J'ai donc l'impression que le delete n'a eu aucun effet (bien que j'ai implémenté le destructeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 int main { TData* d; char c; cout << "BEGIN" << endl; cin >> c; //Ici occupation mémoire = 1.25Mo d = new TData("data/SJC1_dat.txt",1); cout << "AFTER ALLOC" << endl; cin >> c; //On passe a 1.41Mo delete d; cout << "AFTER DELETE" << endl; cin >> c; //On reste a 1.41Mo return 0; }
Cela signifie-t'il que mon allocation/desallocation est mauvaise, ou bien est-ce que ma démarche n'a pas de sens ?
Autre fait étrange, lorsque j'utilise l'alias suivant pour compiler puis lancer:
clear; make clean; make && ./run
j'obtient une occupation initiale du processus run de 1.25Mo, tandis que lorsque je tape simplement ./run, l'occupation initiale est de 416k
Merci beaucoup !
Cordialement
Partager