passing a structure pointer from C mex file to matlab

Hi,
I m trying to pass a pointer of a static structure from C mex to matlab, this pointer will be used by another C mex function. any help will be much appreciated thanks in advance

 Réponse acceptée

James Tursa
James Tursa le 14 Mar 2017

0 votes

The usual hack is to encapsulate the pointer in a MATLAB uint64 variable. I.e., set the data area of a uint64 mxArray to the value of your pointer and pass that variable around. However, you need to be careful that the pointer is indeed valid to use in that other mex routine or it will cause a MATLAB crash.

3 commentaires

thanks for the reply James, do you have some example about pointer encapsulation in MATLAB ?
See this link:
https://www.mathworks.com/matlabcentral/answers/75524-returning-and-passing-void-pointers-to-mex-functions?s_tid=answers_rc1-2_p2_MLT
XAXRXTX
XAXRXTX le 15 Mar 2017
Modifié(e) : XAXRXTX le 15 Mar 2017
to be honest I had a trouble to make it working, but your suggestion in the link about adding an option in the input arguments has fixed the problem, thanks again

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Centre d'aide et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by