An example of how to safely encapsulate a C++ class in a MATLAB class, via a mex interface.
Vous suivez désormais cette soumission
- Les mises à jour seront visibles dans votre flux de contenu suivi
- Selon vos préférences en matière de communication il est possible que vous receviez des e-mails
Note de l’éditeur : This file was selected as MATLAB Central Pick of the Week
This package provides an example of how to wrap a C++ class in a MATLAB class, via a mex interface, safely, without memory leaks, whilst achieving an interface in MATLAB that is similar to the underlying C++ interface.
After downloading, call:
>> run_example
in MATLAB to see an example implementation in action.
Look in run_example.m, example_mex.cpp (and optionally example_interface.m if you don't want to use the standard interface) to see how this is implemented, and copy the structure to interface with your own C++ classes.
This submission is inspired by the following newsgroup thread:
http://www.mathworks.com/matlabcentral/newsreader/view_thread/278243
Thanks to all those who have contributed.
Citation pour cette source
Oliver Woodford (2026). Example MATLAB class wrapper for a C++ class (https://github.com/ojwoodford/mex_class_wrapper/releases/tag/v1.4.1), GitHub. Extrait(e) le .
Informations générales
- Version 1.4.1 (5,07 ko)
-
Afficher la licence sur GitHub
Compatibilité avec les versions de MATLAB
- Compatible avec toutes les versions
Plateformes compatibles
- Windows
- macOS
- Linux
| Version | Publié le | Notes de version | Action |
|---|---|---|---|
| 1.4.1 | See release notes for this release on GitHub: https://github.com/ojwoodford/mex_class_wrapper/releases/tag/v1.4.1 |
||
| 1.4.0.0 | Added a standard interface to avoid needing an interface class per mex wrapper. Also added an example script. |
||
| 1.3.0.0 | Add #includes suggested by Richard Crozier (thanks) to fix compilation in Linux. |
||
| 1.2.0.0 | 2nd attempt to fix compilation under linux. |
||
| 1.1.0.0 | Fix compile error in Linux - thanks to Andreas for highlighting the issue. |
||
| 1.0.0.0 |
