Mex with Function Pointers?

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

Antworten (1)

Sam Butler
Sam Butler am 20 Nov. 2013

0 Stimmen

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

Kategorien

Produkte

Gefragt:

am 21 Sep. 2013

Beantwortet:

am 20 Nov. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by