Hauptinhalt

Aufrufen von MATLAB aus C heraus

Ausführen von MATLAB®-Code aus C Programmen heraus mit mxArray

Bei Engine-Anwendungen handelt es sich um Programme, mit denen Sie MATLAB aus Ihren eigenen C/C++ Programmen heraus aufrufen können (unter Verwendung von MATLAB als Berechnungskern). Rufen Sie zur Erstellung einer C Engine-Anwendung die Funktion mex auf.

Hinweis

Das MATLAB-Engine-API für C++ sollte gegenüber dem Engine-API für C bevorzugt werden. Das MATLAB-Engine-API für C++ umfasst moderne C++ Funktionen zum Erstellen von Engine-Anwendungen. Weitere Informationen finden Sie unter Aufrufen von MATLAB aus C++ heraus. Das Entfernen des Engine-API for C ist nicht vorgesehen.

Für Engine-Anwendungen ist eine installierte Version von MATLAB erforderlich. Sie können die MATLAB-Engine nicht auf einem Rechner ausführen, auf dem sich nur die MATLAB-Runtime befindet.

Zur Erstellung einer C Engine-Anwendung benötigen Sie:

  • Erfahrung im Erstellen von Quellcode in C. Sie können C Quellcodedateien mithilfe des Engine-API für C und C Matrix-API-Funktionen erstellen.

  • Einen von MATLAB unterstützten Compiler. Eine aktuelle Liste der unterstützten Compiler finden Sie unter Unterstützte und kompatible Compiler.

  • Verwenden Sie das mex Build-Skript mit der Option -client engine.

Engine-API für C

EngineType for MATLAB engine
engOpenStart MATLAB engine session
engOpenSingleUseStart MATLAB engine session for single, nonshared use
engCloseQuit MATLAB engine session
engEvalStringEvaluate expression in string
engGetVariableCopy variable from MATLAB engine workspace
engPutVariablePut variable into MATLAB engine workspace
engGetVisibleDetermine visibility of MATLAB engine session
engSetVisibleShow or hide MATLAB engine session
engOutputBufferSpecify buffer for MATLAB output

Themen

Anforderungen

Verfassen von Engine-Anwendungen

Erstellen und Ausführen von Engine-Anwendungen

Fehlersuche

Can't Start MATLAB Engine

What to do when MATLAB engine does not run.

Debug MATLAB Function Called by C Engine

How to verify MATLAB functions used in engine applications.

User Input Not Supported

Some MATLAB functions that interact with the user are not supported in engine applications.

Multithreaded Applications

MATLAB libraries are not thread-safe.