MATLAB Compiler | ![]() ![]() |
Coding with M-Files Only
One way to create a stand-alone application is to write all the source code in one or more M-files or MEX-files. Coding an application in M-files allows you to take advantage of the MATLAB interpretive development environment. Then, after getting the M-file version of your program working properly, compile the code and build it into a stand-alone application.
Note It is good practice to avoid manually modifying the C or C++ code that the MATLAB Compiler generates. If the generated C or C++ code is not to your liking, modify the M-file (and/or the compiler options) and then recompile. If you do edit the generated C or C++ code, remember that your changes will be erased the next time you recompile the M-file. For more information, see Compiling MATLAB Provided M-Files Separately and Interfacing M-Code to C/C++ Code. |
Consider a very simple application whose source code consists of two M-files, mrank.m
and main.m.
This example involves C code; you use a similar process (described below) for C++ code. In this example, the line r = zeros(n,1)
preallocates memory to help the performance of the Compiler.
mrank.m
returns a vector of integers, r
. Each element of r
represents the rank of a magic square. For example, after the function completes, r(3)
contains the rank of a 3-by-3 magic square:
main.m
contains a "main routine" that calls mrank
and then prints the results:
To compile these into code that can be built into a stand-alone application, invoke the MATLAB Compiler:
The -m
option flag causes the MATLAB Compiler to generate C source code suitable for stand-alone applications. For example, the MATLAB Compiler generates C source code files main.c
, main_main.c
, and mrank.c
. main_main.c
contains a C function named main
; main.c
and mrank.c
contain a C functions named mlfMain
and mlfMrank
. (The -c
option flag inhibits invocation of mbuild
.)
To build an executable application, you can use mbuild
to compile and link these files. Or, you can automate the entire build process (invoke the MATLAB Compiler twice, use mbuild
to compile the files with your ANSI C compiler, and link the code) by using the command
Figure 4-2, Building Two M-Files into a Stand-Alone C Application, illustrates the process of building a stand-alone C application from two M-files. The commands to compile and link depend on the operating system being used. See Building Stand-Alone C/C++ Applications for details.
Figure 4-2: Building Two M-Files into a Stand-Alone C Application
For C++ code, add -L cpp
to the previous commands and use a C++ compiler instead of a C compiler.
![]() | Troubleshooting the Compiler | Alternative Ways of Compiling M-Files | ![]() |