How to convert mexFunction to general c/c++ function

1 Ansicht (letzte 30 Tage)
Farik John
Farik John am 17 Dez. 2015
Kommentiert: Farik John am 26 Dez. 2015
Hi everyone. I am converting mexFunction to general c/c++ function, so that it can be called in another c/c++ function. I think it's the problem dealing with arguments. How can i do it? Thanks in advance.
  4 Kommentare
James Tursa
James Tursa am 25 Dez. 2015
You pass a pointer to the data. Then work with the data through that pointer in your "general" C/C++ code the same way you would in a mex function. What are you planning to do with this 4D array?
Farik John
Farik John am 25 Dez. 2015
There are two arguments. One is image array, other is kernel. I am doing convolution with them. So, those are mutidimensional array. Would you put the code here for detail explanation?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Jan
Jan am 25 Dez. 2015
A clean Mex function uses the mexFunction() function to obtain the pointers to the values of the inputs at first. Then a subsection, or better sub-functions process the data. Finally the mexFunction() creates the outputs for Matlab.
Then it is relatively easy to remove the mexFunction() and use the sub-function for calculations from otehr C-code directly.
But maybe the mexFunction() creates the outputs at first and delivers pointers to allocated arrays to the subfunction. Or the mexFunction() mixes its job as a Matlab-C-gateway with calculations. Then a separation of the Mex and C parts is difficult.
  1 Kommentar
Farik John
Farik John am 26 Dez. 2015
Thank you for your answer. Jan Would you glance at this link? mexfunction source How can i convert this mexfunction as a c sub function. Thanks in advance.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by