MEX-files support all C++ language standards. This topic discusses specific C++ language issues to consider when creating and using MEX-files.
Use the C syntax statements in the MATLAB® API libraries
in your C++ applications. You can also copy MATLAB C code examples
into C++ applications. For example, see the
that contains both C and C++ statements.
The C++ source code for the examples provided by MATLAB use
.cpp file extension. The extension
unambiguous and recognized by C++ compilers. Other possible extensions
To build a C++ MEX-file, type:
filename is the name of the
You can run a C++ MEX-file only on systems with the same version of MATLAB that the file was compiled on.
Do not use the
in a C++ destructor of a class used in a MEX-function. If the MEX-function
throws an error, MATLAB cleans up MEX-file variables, as described
in Automatic Cleanup of Temporary Arrays.
If an error occurs that causes the object to go out of scope, MATLAB calls the C++ destructor. Freeing memory directly in the destructor means both MATLAB and the destructor free the same memory, which can corrupt memory.
cout or the C-language
does not work as expected in C++ MEX-files. Use the