Main Content

La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.

Aplicaciones del archivo C MEX

Escribir programas de C que funcionen con la versión R2017b de MATLAB® o anteriores utilizando mxArray

Puede llamar a sus propios programas de C o C++ mediante la línea de comandos de MATLAB como si fueran funciones integradas. Estos programas se conocen como funciones MEX y el nombre de la función es el nombre del archivo MEX. Las funciones MEX no son apropiadas para todas las aplicaciones. MATLAB es un entorno de alta productividad que se especializa en eliminar programación de bajo nivel que requiere mucho tiempo en lenguajes compilados. En general, haga la programación en MATLAB. No utilice funciones MEX a menos que su aplicación lo requiera.

Para crear una función MEX, escriba sus programas usando las API de MATLAB. Las funciones de estas bibliotecas facilitan la transferencia de datos entre las funciones MEX y el área de trabajo. Al elegir una API de MATLAB tenga en cuenta lo siguiente.

  • MathWorks recomienda crear funciones MEX con funcionalidades de C++ moderno, como se define en API de datos de MATLAB. Para obtener más información, consulte Aplicaciones de C++ MEX.

  • Si sus funciones MEX deben ejecutarse en la versión R2017b de MATLAB o en anteriores o si prefiere trabajar en el lenguaje C, utilice funciones en API para manipular matrices en C y la API de C MEX. Estas API utilizan la estructura mxArray de MATLAB. Las funciones y los temas de esta páginas están basados en mxArray.

Nota

Seleccione las funciones de la API para manipular matrices en C o la API de datos de MATLAB, no puede mezclar funciones de estas API.

Cree el archivo fuente en un programa ejecutable mediante el uso de la función mex. También puede compartir el archivo MEX con otros usuarios de MATLAB.

Para obtener información acerca de cómo escribir funciones S, consulte la documentación de Simulink®.

Para llamar una función MEX que alguien creó, consulte Funciones de archivos MEX.

Si tiene un programa de C/C++ y desea llamar a funciones de MATLAB desde el programa, entonces utilice una de las API del motor.

Si desea leer y escribir datos de MATLAB desde programas de C/C++, entonces use API C de MATLAB para leer datos de archivos MAT.

Funciones

mexBuild MEX function or engine application
dbmexEnable MEX-file debugging on UNIX platforms

API de C MEX

mexFunctionEntry point to C/C++ MEX function built with C Matrix API
mexFunctionNameName of current MEX function
mexAtExitRegister function to call when MEX function clears or MATLAB terminates
mexCallMATLABCall MATLAB function, user-defined function, or MEX function
mexCallMATLABWithTrapCall MATLAB function, user-defined function, or MEX file and capture error information
mexEvalStringExecute MATLAB command in caller workspace
mexEvalStringWithTrapExecute MATLAB command in caller workspace and capture error information
mexGetVariableCopy of variable from specified workspace
mexGetVariablePtrRead-only pointer to variable from another workspace
mexPutVariableArray from MEX function into specified workspace
mexGetValue of specified graphics property
mexSetSet value of specified graphics property
mexPrintfANSI C PRINTF-style output routine
mexErrMsgIdAndTxtDisplay error message with identifier and return to MATLAB prompt
mexWarnMsgIdAndTxtWarning message with identifier
mexIsLockedDetermine if MEX file is locked
mexLockPrevent clearing MEX file from memory
mexUnlockAllow clearing MEX file from memory
mexMakeArrayPersistentMake array persist after MEX file completes
mexMakeMemoryPersistentMake memory allocated by MATLAB persist after MEX function completes

Temas

Escribir funciones de C MEX

Versiones de la API para manipular matrices en C

Compartir archivos MEX

Solución de problemas

Errores de compilación

Errores de tiempo de ejecución

Depuración