Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

Escribir funciones de C que se pueden llamar desde MATLAB (archivos MEX)

Cree funciones de C que se pueden llamar desde la versión R2017b o versiones anteriores de MATLAB® utilizando mxArray para acceder a variables de MATLAB y crear arreglos para devolver a MATLAB

Puede llamar a sus propios programas de 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:

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 Llamar a funciones 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. Para obtener más información, consulte:

Si desea leer y escribir datos de MATLAB desde programas de C, consulte Escribir programas de C 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