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...
Partager