Example MATLAB class wrapper for a C++ class

An example of how to safely encapsulate a C++ class in a MATLAB class, via a mex interface.
8,2K téléchargements
Mise à jour 15 fév. 2023

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 (2024). Example MATLAB class wrapper for a C++ class (https://github.com/ojwoodford/mex_class_wrapper/releases/tag/v1.4.1), GitHub. Extrait(e) le .

Compatibilité avec les versions de MATLAB
Créé avec R2012b
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS Linux
Catégories
En savoir plus sur Call C++ from MATLAB dans Help Center et MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Publié le Notes de version
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

Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.