Bonjour tout le monde,

Je suis actuellement en plein dilemne...
En effet, je ne sais comment liberer la memoire allouee sans perdre les infos...
J m explique, j'utilise une fonction qui me retourne un " pointeur sur un unsigned integer (uint_T*)" et j alloue de la memoire pour cela...

Ce que j aimerais faire c est desallouer cette memoire apres avoir recolte les bonnes informations...
Je vous presente un bout de mon code :

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
uint_T* capi_GetDimensionsMatrix(rtwCAPI_ModelMappingInfo* capiMap, uint_T paramIdx)
{    
    /* J ai coupe tout le code avt car il n est pas necessaire, ce ne sont que des obtentions d informations...*/

    actualDimensions = (uint_T *) malloc(numDims*sizeof(uint_T)); /* Voila le Malloc */
                         
    for(idx=0; idx < numDims; idx++) 
    {
        actualDimensions[idx] = dimArray[dimArrayIdx + idx];        
    }
                                         
	return actualDimensions;
        /* et voila, ici j aimerais faire  free(actualDimensions) mais on ne va jamais apres le return... */ 
}

Quelqu un aurait il une solution sachant que bien evidemment je ne peux pas desallouer avt le return sinon je perds tout ce dont j ai besoin...

Merci d avance a tous ceux qui pourront me conseiller...