Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Écrire des fonctions C++ appelables depuis MATLAB (fichiers MEX)

Créer des fonctions haute performance implémentées en C++ moderne et pouvant être appelées depuis MATLAB®

Utilisez l’API MEX C++ pour créer des fonctions MATLAB qui offrent l’efficacité des programmes C++ et peuvent accéder à des fonctions et librairies externes depuis MATLAB. L’API MEX C++ propose les fonctionnalités suivantes :

  • Utilise les fonctionnalités de programmation en C++ moderne et de conception orientée objet.

  • Appelle les fonctions MATLAB à partir de la fonction MEX.

  • S’intègre facilement à MATLAB en obtenant les entrées de MATLAB et en lui renvoyant les résultats.

  • Supporte les types de données MATLAB et la sémantique copy-on-write.

  • Écrit des fonctions MEX multithreadées thread-safe.

  • Exécute des fonctions MEX C++ hors processus.

Remarque

Les fonctions des API C++ MATLAB utilisent la classe matlab::data::Array définie dans MATLAB Data API pour C++. Si vos fonctions MEX doivent s’exécuter dans MATLAB R2017b ou version antérieure ou si vous préférez le langage C, utilisez C Matrix API qui fonctionne avec la structure de données mxArray. Pour plus d’informations, consultez Écrire des fonctions C appelables depuis MATLAB (fichiers MEX).

Fonction de compilation

mexBuild MEX function or engine application

Classes C++

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

Exécution hors processus

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

Rubriques

Créer des fonctions MEX C++

Configurer et créer des fichiers MEX

Design des fonctions MEX C++

Types de données MATLAB dans les fonctions MEX

Appeler des fonctions MATLAB

Threads et processus distincts

Accéder aux variables MATLAB