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

4 views (last 30 days)
Farik John
Farik John on 17 Dec 2015
Commented: Farik John on 26 Dec 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 Comments
Farik John
Farik John on 25 Dec 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?

Sign in to comment.

Answers (1)

Jan
Jan on 25 Dec 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 Comment
Farik John
Farik John on 26 Dec 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.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!