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

Windows®

mexw64

Linux®

mexa64

macOS with Apple silicon

mexmaca64

macOS with Intel®

mexmaci64

Note

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.

Functions

mexextBinary MEX file-name extension

Topics

Troubleshooting

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.