C++ MEX Development Utilities

バージョン 1.0.0.0 (19.5 KB) 作成者: Kesh Ikuma
C++ header files for MEX development
ダウンロード: 293
更新 2018/3/21

Find the full descriptions and the latest files on GitHub @ https://github.com/hokiedsp/matlab-mexutils
This repo contains various C++ header files that are useful in developing C++ MEX functions and also serves to show how to set up CMake to build MEX functions.

C++ Header Files:

* include/mexObjectHandler.h

This file defines 2 main templates: mexObjectHandle class and mexObjectHandler() function.

- mexObjectHandle is an adoptation of Oliver Woodfords' MATLAB class wrapper:
https://www.mathworks.com/matlabcentral/fileexchange/38964
The main difference is that mexObjectHandle manages the instance of wrapped class rather than Oliver's managing the pointer to a wrapped class object.

- mexObjectHandler() is an all-in-one template function to be called in mexFunction() to create a MEX backend to a MATLAB class. This function makes mexObjectHandle completely transparent to the developer. See documentation on GitHub for details.

* include/mexRuntimeError.h defines a custom runtime error based on std::runtime_error to include "id" field so mexErrMsgIdAndTxt() can be called in the catch block.

* include/mexGetString.h converts char string or scalar cellstr mxArray to std::string. Only single-byte encoding is supported.

* include/mexAllocator.h is a custom C++ allocator, which wraps mxMalloc, mxRealloc, and mxFree. It is useful to develop a Matlab-independent template class which must dynamically allocate memory internally and return the data to Matlab (avoiding memcpy). This allocator should only be used to allocate simple data types.

These header files have been developed only in Windows (MSVC+VSCode+Ninja+CMake). Please let me know if there are any issues, especially on other platforms, preferably on GitHub!

引用

Kesh Ikuma (2024). C++ MEX Development Utilities (https://github.com/hokiedsp/matlab-mexutils), GitHub. 取得済み .

MATLAB リリースの互換性
作成: R2017a
すべてのリリースと互換性あり
プラットフォームの互換性
Windows macOS Linux
カテゴリ
Help Center および MATLAB AnswersWrite C Functions Callable from MATLAB (MEX Files) についてさらに検索
謝辞

ヒントを得たファイル: Example MATLAB class wrapper for a C++ class

Community Treasure Hunt

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

Start Hunting!

+mexcpp

examples

examples/@mexClass

GitHub の既定のブランチを使用するバージョンはダウンロードできません

バージョン 公開済み リリース ノート
1.0.0.0

この GitHub アドオンでの問題を表示または報告するには、GitHub リポジトリにアクセスしてください。
この GitHub アドオンでの問題を表示または報告するには、GitHub リポジトリにアクセスしてください。