Main Content

Call MEX Functions

Call C/C++ or Fortran MEX file functions from MATLAB®

A MEX file is a function, created in MATLAB, that calls a C/C++ program or a Fortran subroutine. A MEX function behaves just like a MATLAB script or function.

To call a MEX function, use the name of the MEX file, without the file extension. The MEX file contains only one function or subroutine. The calling syntax depends on the input and output arguments defined by the MEX function. The MEX file must be on your MATLAB path.

While MATLAB scripts and functions have platform-independent extensions .m and .mlx, MEX functions have these 64-bit platform-specific file extensions:

MEX File Platform-Dependent Extension

PlatformBinary MEX File Extension





macOS with Apple silicon


macOS with Intel®



MEX files built on macOS with Intel are not supported on the Apple silicon platform using Rosetta 2.

To experiment with calling MEX functions, use the code in Tables of MEX Function Source Code Examples to build and run examples.

For information about creating MEX functions, see:

For information about using MEX S-functions in models, see your Simulink® documentation.


mexextBinary MEX file-name extension


Résolution des problèmes

MEX Version Compatibility

For best results, run MEX files built with your MATLAB version.

MEX Platform Compatibility

If you get a binary MEX file from another source, be sure that the file was compiled for the same platform on which you want to run it.

Invalid MEX File Errors

What to do when you get an invalid MEX file error.