begin process at 2012 05 30 18:20:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

taille de libération mémoire


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

taille de libération mémoire

mercredi 5 octobre 2005 à 21:29:39 | taille de libération mémoire

mezaya

Bonjour,

Je voudrai savoir si il existe un moyen de récuperer la taille mémoire que va libérer la fonction free ?

Voila en faite j'aimerai surcharger les fonctions new et delete pour pouvoir obtenir des infos sur la mémoire dynamique dans mon programme. pour le "new" pas de probleme la taille est passée en paramètre mais pour le delete non. une solution serait d'utiliser une table de hachage en faisant correpondre une taille avec une addresse alloué. mais je trouve ce procédé lourd et je pense qu'il doit avoir un moyen plus pratique ? ( sinon comment fait la fonction free() ? ).

Merci.
mercredi 5 octobre 2005 à 23:04:17 | Re : taille de libération mémoire

BruNews

Administrateur CodeS-SourceS
free ou delete libèrerea la taille demandée lors du malloc ou new, bizzare ta question.

ciao...
BruNews, MVP VC++
mercredi 5 octobre 2005 à 23:24:24 | Re : taille de libération mémoire

mezaya

ce que j'aimerai faire c'est :

stattic unsigned int MemDyn = 0;

void* operator new ( size_t taille )
{
    MemDyn += taille;
    return malloc( taille );  
}

void operator delete( void* ptr )
{
   MemDyn -= ??? // j'aimerai récupérer la taille qui va être désallouer par free
    free( ptr );
}

Voili,Voilou
jeudi 6 octobre 2005 à 01:00:07 | Re : taille de libération mémoire

aardman

Membre Club
Réponse acceptée !
Salut,
Quelqu'un avait posté une source ici (impossible de la retrouver..) qui resolvait ce probleme.
En fait ca consiste a allouer sizeof(int) octets de plus que la taille du bloc a allouer, pour y noter la taille du bloc.
Lors de la liberation, tu as alors acces a cette taille..

par exemple pour l'allocation:
void *ptr = malloc(taille + sizeof(int));
*((int*)ptr) = taille;
return ptr + sizeof(int);

et pour la liberation:
ptr -= sizeof(int);
int taille = *((int*)ptr);
free(ptr);

en gros la technique ressemble à ca...



Cette discussion est classée dans : fonction, taille, moyen, mémoire, libération


Répondre à ce message

Sujets en rapport avec ce message

libération de mémoire allouée [ par moloko2000 ] Je me trouve confronté à un petit problème d'allocation mémoire.En fait je dois rapatrier une base de données de 90000 enregistrements et en fait à ch Question sur l'allocation de mémoire... [ par kod32 ] Salut,j'ai une question concernant l'allocation de mémoire et notamment l'utilisation de la fonction malloc. Cette fonction permet de pointer vers un manipulation fichier texte [ par bencholl ] I / Utilisation de fichiers texteLe fichier "Etud_2002.don" comporte des lignes ainsi structurées (le caractère ';' est utilisé comme séparateur) : NO crash (mémoire ?) [ par remzz ] Bonjour,Je cherche à construire un tableau de grande taille, mais à partir d'une certaine taille le programme crashe :double test[500][500];=> OK doub Taille de fichiers [ par Screderman ] Hello !Je cherche un moyen ( une fonction ) permettant de trouver la taille d'un fichier afin que je puisse le lire en entier avec ma fonction de lect Taille de tableau ? [ par Praxe ] Bonjour à tous Je suis sur un projet vc++ v6 dans lequel je manipule des images. J'ai fait un petit algo qui permet de récupérer des coordonnées de pi Libération de la mémoire [ par norton ] Bonjour à tous,Je me suis demandé si en mettant le code "exit(1);" pour quiter un programme ca libère toute la mémoire que le programme utilise ?? Ou Taille d'une structure en mémoire [ par PeteTheBull ] Bonjour J'ai un petit problème en c++ (sous VC++6). Je défini une structure du style : typedef struct     {         __int64 B;       &nbsp taille d'un dossier [ par barrique ] Bonjour, J'ai un petit projet à faire en C. Il doit permettre de connaître la taille d'un dossier passé en paramètres. Pour récupérer la taille d'un d Codage du JPEG en mémoire [ par Subarufr ] Je réalise comme projet d'informatique un prgm de stéganographi (cryptage par l'image) j'aimerais donc savoir comment un codé un fichier JPEG en mémoi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,030 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales