Matlab - Compilar funciones C/C++ en Matlab

 
Vista:

Compilar funciones C/C++ en Matlab

Publicado por Maxwell (1 intervención) el 15/03/2008 01:46:35
hola,
tengo que compilar código en lenguaje C/C++ mediante Matlab para generar una dll(dinamic link library). El matlab compiler tiene 2 funciones: mcc y mbuild, pero parece que son para transformar los .m en ejecutables o en codigo C.Entonces mi pregunta es:
¿la unica forma de consiguir compilar codigo C para generar un libreria dll ,que se pueda llamar desde MATLAB, es utilizando funciones MEX? (funcion mex XXX.c)
Es decir, ¿deberia modificar/adecuar todo mi codigo C para transformarlo en MEX-files, con la funcion gateway etc?¿hay otras formas de conseguir esto?

por favor, contesten lo antes posible.
Muchas gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Compilar funciones C/C++ en Matlab

Publicado por Enzo (1 intervención) el 03/04/2008 22:57:02
Tambien tengo el mismo problema, nesesito usar un codigo de C para un programa de MatLab ......

Nadie sabe como hacerlo?????

Maxwell, si ya sabes como hacerlo, ¿Podrías darme el dato??

Saludos
y gracias a quien responda ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Compilar funciones C/C++ en Matlab

Publicado por jose r  (1 intervención) el 15/05/2008 19:22:24
hola, yo tengo el problema al contrario tengo el codigo de la FFT en c++ y lo necesito en matlab, sera que me pueden ayudar, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Compilar funciones C/C++ en Matlab

Publicado por Roberto (1 intervención) el 16/05/2008 17:25:29
hola, yo he estado tratando de hacer esto, sin embargo no he podido tampoco, parece que hay que pasar todo el codigo C para .mex, pero esto me parece irracional, alguin sabe como hacerlo?
Gracias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Compilar funciones C/C++ en Matlab

Publicado por Ariel (1 intervención) el 26/08/2008 23:20:16
La forma de compilar funciones de c o c++ desde matlab, es usando el comando mex -c nombre_de_funcion.c.

No se la verdad como hiciste tu codigo, pero debes usar las funciones de mex como por ejemplo: para generar la funcion principal en vez que utilices main tienes que declalrarlo de la forma mexFunction(int nlhs, mxArray *plhs[],int nrhs, const mxArray *prhs[]) que es la parte donde generas las variables que vas a pasar de c a matlab es decir pasos por valor o por referencia, si tienes duda de esto checate la ayuda de matlab ejemplos de funciones mex.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Compilar funciones C/C++ en Matlab

Publicado por Juanith (1 intervención) el 05/07/2017 19:57:10
En la documentación de MATLAB viene un ejemplo sencillo pero muy entendible

https://www.mathworks.com/help/matlab/matlab_external/build-an-executable-mex-file.html

To build a code example, first copy the file to a writable folder on your path.

>> copyfile(fullfile(matlabroot,'extern','examples','refbook','timestwo.c'),'.','f')

Use the mex command to build the MEX file.

>> mex timestwo.c

The timestwo function takes a scalar input and doubles it. Call timestwo like a MATLAB® function.

>> timestwo(4)

ans =
8

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar