MxArrayDefinition
This function attempts to programmatically determine a suitable definition of the mxArray structure. This is intended to allow the user explore the workings of MATLAB's mxArray, and to facilitate using undocumented methods in MEX functions.
This function analyses the mxArray by first finding its size, and then examines changes to the bytes of mxArray after the mxArray is modified in MATLAB. In some cases the byte pattern from two mxArrays are compared to determine which mxArray properties are represented by which bytes. The approach was motivated the method described at:
http://undocumentedmatlab.com/blog/matlabs-internal-memory-representation
Due to the may it works, it may fail to find members of the mxArray occasionally. If it missed something, try it again xD.
The output should look like the examples included: mxInternals_R2010A.h and mxInternals_R2013B.h
WARNING: This function attempts to read data from memory pointers that may not been valid - this may crash MATLAB, so SAVE ALL WORK BEFORE RUNNING. If that happens - don't panick, just restart Matlab and try again. It has been tested for:
R2013B
R2012B
R2010A
(some windows, some unix).
DISCLAIMER - This function has NOT been tested on a BIG endian machine. While I've attempted to make the program compatible with big endian machines, I can't test it. So if you have one, I'd love to know if it works!
ACKNOWLEDGEMENTS
The early mxArray investigation done by
Peter Boetcher, James Tursa, Bruno Luong, Joshua Dillon and all else involved.
Yair Altman, Peter Li, and "Martin":
http://undocumentedmatlab.com/blog/matlabs-internal-memory-representation
Cite As
Andrew (2024). MxArrayDefinition (https://www.mathworks.com/matlabcentral/fileexchange/46427-mxarraydefinition), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- MATLAB > External Language Interfaces > C with MATLAB > Write C Functions Callable from MATLAB (MEX Files) >
Tags
Acknowledgements
Inspired by: InplaceArray: a semi-pointer package for Matlab, sharedmatrix
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0.0 |