Contenuto principale

Chiamata di MATLAB da C

Eseguire il codice MATLAB® da programmi C, utilizzando mxArray

Le applicazioni engine sono programmi che consentono di chiamare MATLAB dai programmi C/C++ utilizzando MATLAB come engine computazionale. Per compilare un applicazione engine C, chiamare la funzione mex.

Nota

Si consiglia di utilizzare l'API di MATLAB Engine per C++ anziché l'API di engine per C. L'API di MATLAB Engine per C++ include moderne feature C++ per la scrittura di applicazioni engine. Per maggiori informazioni, vedere Chiamata di MATLAB da C++. Non è previsto alcun piano per rimuovere l'API di Engine per C.

Le applicazioni engine richiedono una versione installata di MATLAB; non è possibile eseguire MATLAB Engine su una macchina che dispone solo del runtime di MATLAB.

Per creare un'applicazione engine C, è necessario:

  • Avere esperienza nella scrittura di codice sorgente C. È possibile creare file di codice sorgente C utilizzando l'API di Engine per C e le funzioni API Matrix C.

  • Un compiler supportato da MATLAB. Per un elenco aggiornato dei compilatori supportati, vedere Supported and Compatible Compilers (Compilatori supportati e compatibili).

  • Utilizzare lo script di compilazione mex con l'opzione -client engine.

API di Engine per 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

Argomenti

Requisiti

Scrittura di applicazioni engine

Compilazione ed esecuzione di applicazioni engine

Risoluzione dei problemi

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.