On 16 Jan 2003, Florin Malita wrote:
> deoarece implementarile functiilor de gestiune a memoriei variaza f mult
> de la un so la altul (poate chiar de la vers de libc la alta) cea mai
> eleganta solutie portabila se bazeaza pe wrapper-e in care faci trick-ul
> din malloc: aloci ceva mai mult decat se cere, iti salvezi informatia
> despre dimensiune la inceput si intorci un pointer dupa.
>
> ceva de genul:
>
> void *my_malloc(size_t sz){
> void *res;
>
> if((res = malloc(sz + sizeof(size_t)))){
> *(size_t*)res = sz;
> return (char*)res + sizeof(size_t);
> }
>
> return NULL;
> }
>
> void my_free(void *ptr){
> free((char*)ptr - sizeof(size_t));
> }
>
> size_t get_allocated_size(void *ptr){
> return *(size_t*)((char*)ptr - sizeof(size_t));
> }
Multumesc, asta este si solutia pe care am folosit-o in cele din
urma. As dori sa multumesc cu aceasta ocazie tuturor celor care au
raspuns, si imi pare rau ca s-a declansat un mic flame paralel - dar macar
s-a pus in discutie o idee pe care vroiam sa o propun si eu, cea cu lista
pentru programare in linux... pe cand o "deschidere oficiala" ?
Numai bine,
--
Mihnea-Costin Grigore [ "Tenebus Ipsilo Ibinem Catehens" ]
E-mail: [EMAIL PROTECTED] Home Page: http://mgc8.virtualave.net
---
Pentru dezabonare, trimiteti mail la
[EMAIL PROTECTED] cu subiectul 'unsubscribe rlug'.
REGULI, arhive si alte informatii: http://www.lug.ro/mlist/