Main Content

Scrittura di funzioni C++ chiamabili da MATLAB (file MEX)

Creare funzioni ad alte prestazioni, implementate nel moderno C++, che possono essere chiamate da MATLAB®

Utilizzare l’API MEX C++ per creare funzioni di MATLAB che offrano l'efficienza dei programmi C++ e che possano accedere a funzioni e librerie esterne da MATLAB. L'API MEX C++ offre queste feature:

  • Utilizza le feature moderne di programmazione C++ e la progettazione orientata all’oggetto.

  • Chiama le funzioni di MATLAB dalla funzione MEX.

  • Si integra con MATLAB senza soluzione di continuità ricevendo gli input e restituendo gli output a MATLAB.

  • Supporta i tipi di dati di MATLAB e la semantica copy-on-write.

  • Scrive funzioni MEX multi-thread a prova di thread.

  • Esegue le funzioni C++ MEX fuori dal processo.

Nota

Le funzioni delle API C++ di MATLAB utilizzano la classe matlab::data::Array definita nel API dei dati di MATLAB per C++. Se le funzioni MEX devono essere eseguite in MATLAB R2017b, o release precedenti, o se si preferisce lavorare in linguaggio C, utilizzare API Matrix C che lavora invece con la struttura di dati mxArray. Per maggiori informazioni, vedere Scrittura di funzioni C richiamabili da MATLAB (MEX Files).

Creazione di funzioni

mexBuild MEX function or engine application

Classi C++

matlab::mex::FunctionBase class for C++ MEX functions
matlab::mex::ArgumentListContainer for inputs and outputs from C++ MEX functions

Esecuzione fuori dal processo

mexhostCreate host process for C++ MEX function
fevalEvaluate C++ MEX function in MEX host process
matlab.mex.MexHostOut-of-process host for C++ MEX function execution

Argomenti

Creazione di funzioni C++ MEX

Impostazione e costruzione di file MEX

Progettazione di funzioni C++ MEX

Tipi di dati MATLAB nelle funzioni MEX

Chiamata delle funzioni di MATLAB

Separazione dei thread e dei processi

Accesso alle variabili di MATLAB