Azzera filtri
Azzera filtri

Mex with Function Pointers?

1 visualizzazione (ultimi 30 giorni)
Sam Butler
Sam Butler il 21 Set 2013
Risposto: Sam Butler il 20 Nov 2013
I want to build most of my code in MatLab, but there is one routine that needs to be sped up in C++ (and made to use the GPU; highly parallel problem). The thing is, that problem requires a function pointer.
If I use mex "naively", passing in a function handle to the C interface, can I access this function from C or are there known issues with doing this?
(If it makes a difference, the function was defined using the f = @(x,y) sin(x).*cos(y); syntax for defining functions.)

Risposte (1)

Sam Butler
Sam Butler il 20 Nov 2013
I got this code to work properly using a mix of C++ objects and MatLab objects, by tracking the function pointer's 64-bit integer value in MatLab and having the MatLab class extend handle (so it gets deleted automatically, to call the C++ code to delete).

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by