Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Scrittura di funzioni C richiamabili da MATLAB (MEX Files)

Creare funzioni C che possono essere chiamate da MATLAB® R2017b, o release precedenti, utilizzando mxArray per accedere alle variabili di MATLAB e creare array da restituire a MATLAB

È possibile chiamare i propri programmi C dalla riga di comando di MATLAB come se fossero delle funzioni incorporate. Questi programmi sono chiamati funzioni MEX e il nome della funzione è il nome del file MEX. Le funzioni MEX non sono adatte a tutte le applicazioni. MATLAB è un ambiente ad alta produttività la cui specialità è eliminare la programmazione di basso livello nei linguaggi compilati, che richiede molto tempo. In generale, eseguire la programmazione in MATLAB. Non utilizzare le funzioni MEX a meno che l'applicazione non lo richieda.

Per creare una funzione MEX, scrivere i programmi utilizzando le API di MATLAB. Le funzioni di queste librerie facilitano il trasferimento dei dati tra le funzioni MEX e il workspace. Per scegliere un’API di MATLAB, si consideri quanto segue:

Nota

Scegliere le funzioni dell'API Matrix C o dell'API di dati di MATLAB; non è possibile mescolare le funzioni di queste API.

Costruire il file sorgente in un programma eseguibile utilizzando la funzione mex. È inoltre possibile condividere il file MEX con altri utenti di MATLAB.

Per informazioni sulla scrittura di funzioni S, vedere la documentazione di Simulink®.

Per chiamare una funzione MEX creata da altre persone, vedere Chiamata delle funzioni MEX.

Se si dispone di un programma C/C++ e si desidera chiamare le funzioni di MATLAB dal programma, si può utilizzare una delle API di engine. Per maggiori informazioni, vedere:

Se si desidera leggere e scrivere dati di MATLAB da programmi C, vedere Scrittura di programmi C per la lettura di dati di file MAT.

Funzioni

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

API MEX C

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

Argomenti

Scrittura di funzioni MEX C

Versioni di API Matrix C

Condivisione di file MEX

Risoluzione dei problemi

Errori di costruzione

Errori di runtime

Debug