User`s guide
4 Stand-Alone Applications
4-2
Differences Between MEX-Files and Stand-Alone
Applications
MEX-files and stand-alone applications differ in these respects:
• MEX-files run in the same process space as the MATLAB
interpreter. When
you invoke a MEX-file, the MATLAB interpreter dynamically links in the
MEX-file.
• Stand-alone C or C++ applications run independently of MATLAB.
MEX-Files
It is now possible to call MEX-files from Compiler-generated stand-alone
applications. The Compiler will compile MEX-files whenever they are specified
on the command line or are located using the
-h option to find helper functions.
The MEX-files will then be loaded and called by the stand-alone code.
If an M-file and a MEX-file appear in the same directory and the M-file
contains at least one function, the Compiler will compile the M-file instead of
the MEX-file. If the MEX-file is desired instead, you must use the
%#mex
pragma. For more information on this pragma, see the
%#mex reference page.
Note The Compiler-generated code cannot invoke Compiler-generated
MEX-files. Specify the M-file(s) source instead and the Compiler will compile
those into the stand-alone application.
Stand-Alone C Applications
To build stand-alone C applications as described in this chapter, MATLAB, the
MATLAB Compiler, a C compiler, and the MATLAB C/C++ Math Library must
be installed on your system.
The source code for a stand-alone C application consists either entirely of
M-files or some combination of M-files, MEX-files, and C or C++ source code
files.
The MATLAB Compiler translates input M-files into C source code suitable for
your own stand-alone applications. After compiling this C source code, the
resulting object file is linked with the object libraries.