Main Content

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Verfassen von C Funktionen, die aus MATLAB heraus aufgerufen werden können (MEX-Dateien)

Erstellen von C Funktionen, die aus MATLAB® R2017b oder früher heraus aufgerufen werden können; dabei dient mxArray zum Zugriff auf MATLAB-Variablen und zur Erstellung von Arrays, die an MATLAB zurückgegeben werden

Sie können Ihre eigenen C Programme über die MATLAB-Befehlszeile aufrufen, als wären es eingebaute Funktionen. Diese Programme werden als MEX-Funktionen bezeichnet. Der Name der Funktion entspricht dem MEX-Dateinamen. MEX-Funktionen eignen sich nicht für alle Anwendungsbereiche. MATLAB ist eine Hochproduktivitätsumgebung, die insbesondere zeitraubende Low-Level-Programmierarbeiten in kompilierten Sprachen überflüssig macht. Im Allgemeinen findet die Programmierung in MATLAB statt. Verwenden Sie MEX-Funktionen nur dann, wenn die Anwendung dies erfordert.

Verfassen Sie zur Erstellung einer MEX-Funktion Ihre eigenen Programme mithilfe von MATLAB-APIs. Die Funktionen in diesen beiden Bibliotheken vereinfachen die Weitergabe von Daten zwischen MEX-Funktionen und dem Arbeitsbereich. Beachten Sie Folgendes bei der Auswahl einer MATLAB-API:

Hinweis

Wählen Sie Funktionen der C Matrix-API oder der MATLAB-Daten-API. Sie können die Funktionen aus diesen APIs nicht miteinander kombinieren.

Erstellen Sie Ihre Quelldatei mithilfe der Funktion mex in einem ausführbaren Programm. Sie können auch die MEX-Datei für andere MATLAB-Benutzer freigeben.

Informationen zum Verfassen von S-Funktionen finden Sie in Ihrer Dokumentation zu Simulink®.

Informationen zum Aufruf einer von einer anderen Person erstellten MEX-Funktion finden Sie unter Aufrufen von MEX-Funktionen.

Wenn Sie in einem C/C++ Programm MATLAB Funktionen aus dem Programm heraus aufrufen möchten, dann verwenden Sie eine der Engine-APIs. Weitere Informationen finden Sie hier:

Informationen dazu, wie Sie MATLAB-Daten aus C Programmen lesen und schreiben können, finden Sie unter Verfassen von C Programmen zum Lesen von MAT-File-Daten.

Funktionen

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

C MEX-API

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

Themen

Verfassen von C MEX-Funktionen

C Matrix-API-Versionen

Freigeben von MEX-Dateien

Fehlersuche

Build-Fehler

Laufzeitfehler

Debugging