Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Creación de funciones MEX de C++ con API de matriz de C

Funciones MEX construidas con el soporte de todos los estándares del lenguaje C++.API para manipular matrices en C En este tema se describen los problemas específicos del lenguaje C++ que se deben tener en cuenta al crear y usar archivos MEX. también proporciona una API que usa la semántica moderna de C++ y patrones de diseño, el.MATLAB®API de datos de MATLAB Para utilizar esta API para crear funciones MEX, consulte.Aplicaciones de C++ MEX

Puede usar las funciones de la API de C Matrix en las aplicaciones de C++. También puede copiar ejemplos de código C en aplicaciones de C++.MATLAB Por ejemplo, consulte la mexcpp.cpp archivo que contiene las instrucciones C y C++.

Crear el archivo de código fuente de C++

Los ejemplos de código fuente de C++ utilizan la extensión de archivo.MATLAB.cpp La extensión es inequívoca y reconocida por los compiladores de C++..cpp Otras extensiones posibles incluyen, y..C.cc.cxx

Compilar y vincular

Para compilar un archivo MEX de C++, escriba:

mex filename.cpp

Dónde filename es el nombre del archivo de origen.

Puede ejecutar un archivo MEX de C++ solo en sistemas con la misma versión de la que se compiló el archivo.MATLAB

Consideraciones de memoria para destructores de clase

No utilice las funciones o en un destructor de C++ de una clase utilizada en una función MEX.mxFreemxDestroyArray Si la función MEX arroja un error, limpia las variables MEX-File, como se describe en.MATLABLimpieza automática de matrices temporales

Si se produce un error que hace que el objeto salga del ámbito, llama al destructor de C++.MATLAB Liberar memoria directamente en el destructor significa que ambos y el destructor liberan la misma memoria, que puede dañar la memoria.MATLAB

Utilice mexPrintf para imprimir en la ventana de comandosMATLAB

El uso o la función del lenguaje C no funciona como se esperaba en los archivos MEX de C++.coutprintf Utilice la función en su lugar.mexPrintf

Consulte también

Ejemplos relacionados

Más acerca de