residue
中階會員 發表:90 回覆:153 積分:53 註冊:2003-07-02發送簡訊給我
其實只要打mcc的指令就可以囉,這一小弟查到的,以下是mcc的help檔,也感謝allenchan大大的回覆喔 MCC MATLAB to C/C Compiler (Version 3.0).
MCC [-options] fun [fun2 ...] [mexfile1 ...] [mlibfile1 ...]
Translate fun.m to fun.c or fun.cpp, and optionally create any supported
binary file. Write any resulting files into the current directory, by
default.
If more than one M-file is specified, a C or C file is generated for each
M-file.
If C or object files are specified, they are passed to MEX or MBUILD along
with any generated C files.
If MEX-files are specified, MCC will generate wrapper code so that calls can
be made from compiled M-files to the specified MEX-files. Also, if a
MEX-file and an M-file with the same base name are located in the same
directory, specifying the MEX-file causes MCC to use it instead of the
M-file. Otherwise MCC favors M-files over MEX-files.
MLIB files describe the functions in a shared library created by MCC (see -W
lib below). Specifying an MLIB file tells MCC to link to the MLIB file's
corresponding shared library whenever it needs to use any of the functions
found in that library. The MLIB file and its corresponding shared library
file must be located within the same directory.
If conflicting options are presented to MCC, the rightmost conflicting
option is used.
OPTIONS:
A
Specify annotation. The following table shows valid
strings and their effects:
annotation:all (*) - All lines from source M-file appear as comments
in generated output file.
annotation:comments - Comments from source M-file appear as comments in
generated output file.
annotation:none - No text from source M-file appears in generated
output file.
line:on - #line directives appear in generated output file
which map lines in source M-code to lines in
output file.
line:off (*) - No such #line directives are generated.
debugline:on - Run-time error messages report the source file
name and line number where they occurred.
debugline:off (*) - Run-time error messages do not report any
information about the source where they occurred.
(*) indicates default setting.
b Generate an MS Excel compatible formula function for the given list of M-files.
B [:[,]] Specify bundle file. is a text file containing
Compiler command line options. The Compiler behaves as if the "-B
" were replaced by the contents of the bundle file. Newlines
appearing in these files are allowed and are treated as whitespace.
The MathWorks provides options files for the following:
ccom Used for building a C COM compatible object on Windows
(requires COM Builder)
cexcel Used for building a C MS Excel Compatable COM object on
Windows (requires MATLAB Excel Builder)
csglcom Used for building C COM compatible object on Windows
using the C Graphics Library (requires COM Builder)
csglexcel Used for building a C MS Excel compatible object on Windows
using the C Graphics Library (requires MATLAB Excel Builder)
csglsharedlib
Used for building a C Graphics Library shared library
cppcom Used for building a C COM compatible object on Windows
(requires COM Builder)
cppexcel Used for building a C MS Excel Compatiable COM object on
Windows (requires MATLAB Excel Builder)
cppsglcom Used for building C COM compatible object on Windows
using the Graphics Library (requires COM Builder)
cppsglexcel
Used for building a C MS Excel compatible object on Windows
using the Graphics Library (requires MATLAB Excel Builder)
cpplib Used for building a C library
csharedlib
Used for building a C shared library
csglsharedlib
Used for building a C Graphics shared library
pcode Used for building MATLAB P-Code files.
sgl Used for building stand-alone C Graphics applications.
sglcpp Used for building stand-alone C Graphics Library
applications.
c C only. Translate M-file to C, but do not produce a MEX-file or
stand-alone application. This is equivalent to "-T codegen" as the
rightmost argument on the command line.
d Output directory. All generated files will be put in
.
F list. List the s available in the next form of the command,
together with their current values and a short explanation.
F : Typesetting format options. Assign the value to
the formatting option . See "F list" for s.
f Use the specified options file when calling MEX or
MBUILD. This allows you to use different ANSI compilers. This
option is a direct pass-through to the MEX or MBUILD script. See
"External Interfaces" for more information.
G Debug only. Simply turn debugging on, so debugging symbol
information is included.
g Debug. Include debugging symbol information. This option also
includes the -A debugline:on switch. This will have an impact on
performance of the generated code. If you wish to have debugging
information, but do not want the performance degradation
associated with the debug line information use: -g -A
debugline:off. This option also includes the -O none switch. That
switch causes all Compiler optimizations to be turned off. If you
wish to have some optimizations on, you may specify them after the
debug switch.
h Compile helper functions. All M-functions called will be compiled into
the resulting MEX-file or stand-alone application.
i When generating a library include only entry points mentioned on the
command line in the list of exported symbols.
I Include path. Add to the list of paths to search for
M-files. The MATLAB path is automatically included when running from
MATLAB, but NOT when running from DOS or the Unix shell. See "help
mccsavepath".
L Language. Specifies target language. can be "C" for C,
"Cpp" for C , or "P" for MATLAB P-code.
l Line. Generates code that reports file name and line numbers on run-time
errors. (Equivalent to -A debugline:on)
m Macro that generates a C stand-alone application. This is equivalent to
the options "-t -W main -L C -h -T link:exe libmmfile.mlib", which can
be found in the file /toolbox/compiler/bundles/macro_option_m.
Note: the "-h" means that helper functions will be included.
M "" Pass to the MBUILD or MEX script used to build an
executable. If -M is used multiple times, the rightmost occurrence is
used.
o Output name. Set the name of the final executable output
(MEX or stand-alone application) to . A suitable,
possibly platform-dependent, extension is added to
(e.g., ".exe" for PC stand-alone applications, ".mexsol" for Solaris
MEX-files).
O Optimization. There are three possibilities:
:[on|off] - Turns the class on or off
For example: -O fold_scalar_mxarrays:on
list - Lists the available optimization classes.
- Uses a bundle file called
opt_bundle_ to determine which optimizations are on or off.
For example "-O all" looks for a bundle file called opt_bundle_all
and uses the switches present. The current optimization levels
are "all" and "none". The default is to have all optimizations
on.
p Macro that generates C stand-alone application. This is equivalent to
the options "-t -W main -L Cpp -h -T link:exe libmmfile.mlib", which can
be found in the file /toolbox/compiler/bundles/macro_option_p.
Note: the "-h" means that helper functions will be included.
S Macro that generates Simulink C-MEX S-Function. This is equivalent to
the options "-t -W simulink -L C -T link:mex libmatlbmx.mlib", which can
be found in the file /toolbox/compiler/bundles/macro_option_S.
Note: the absence of "-h" means that helper functions will not be
included.
t Translate M code to target language. Translate any M-functions specified
on the command line to C or C functions. This option is included in
all macro options. Omitting it allows the generation of wrapper C/C
files without generating the C/C files corresponding to M-files.
T Specify target phase and type. The following table shows valid
strings and their effects:
codegen - translate M-files to C/C files and generate a
wrapper file. (This is the default -T setting.)
compile:mex - same as codegen, plus compile C/C files to object
form suitable for linking into a Simulink
S-function MEX-file.
compile:mexlibrary - same as codegen, plus compile C/C files to object
form suitable for linking into an ordinary (non-
S-function) MEX-file.
compile:exe - same as codegen, plus compile C/C files to object
form suitable for linking into a stand-alone
executable.
compile:lib - same as codegen, plus compile C/C files to object
form suitable for linking into a shared
library/DLL.
link:mex - same as compile:mex, plus link object files into a
Simulink S-function MEX-file.
link:mexlibrary - same as compile:mexlibrary, plus link object files
into an ordinary (non S-function) MEX-file.
link:exe - same as compile:exe, plus link object files into a
stand-alone executable.
link:lib - same as compile:lib, plus link object files into a
shared library/DLL.
u Specify that the number of inputs to a generated Simulink
S-function should be . Valid only if either "-S" or "-W
simulink" option has also been specified.
v Verbose. Show compilation steps.
w list. List the strings allowed in the next form of the command,
together with the full text of the warning messages to which they
correspond.
w [:] Warnings. The possible options are "enable", "disable",
and "error". If "enable:" or "disable:" is specified, enable
or disable the warning associated with . If "error:" is
specified, enable the warning associated with and treat any
instances of that warning as an error. If the but not ":"
is specified, the Compiler applies the action to all warning
messages. For backward compatibility with previous Compiler revisions,
"-w" (with no option) is the same as "-w enable".
W Wrapper functions. Specify which type of wrapper file
should be generated by the Compiler. can be one of "mex",
"main", "simulink", "lib:",
"com:,,", or "none"
(default). For the lib wrapper, contains the name of the
shared library to build. When generating a "lib" wrapper, MCC also
creates an MLIB file describing the functions in the shared
library.
x Macro that generates a MEX-file. This is equivalent to the options
"-t -W mex -L C -T link:mexlibrary libmatlbmx.mlib", which can be found in the
file /toolbox/compiler/bundles/macro_option_x. Note: the absence
of "-h" means that helper functions will not be included.
y Specify that the number of outputs from a generated Simulink
S-function should be . Valid only if either "-S" or
"-W simulink" option has also been specified.
Y Override default license.dat file with specified
argument.
z Specify the path to use for library and include files.
This option uses the specified path for the Compiler libraries
instead of MATLABROOT.
? Help. Display this help message.
EXAMPLES:
Make a C translation and a MEX-file for myfun.m:
mcc -x myfun
Make a C translation and a stand-alone executable for myfun.m:
mcc -m myfun
Make a C translation and a stand-alone executable for myfun.m:
mcc -p myfun
Make a C translation and a Simulink S-function for myfun.m
(using dynamically sized inputs and outputs):
mcc -S myfun
Make a C translation and a Simulink S-function for myfun.m
(explicitly calling for one input and two outputs):
mcc -S -u 1 -y 2 myfun
Make a C translation and stand-alone executable for myfun.m. Look for
myfun.m in the directory /files/source, and put the resulting C files and
executable in the directory /files/target:
mcc -m -I /files/source -d /files/target myfun
Make a C translation and a MEX-file for myfun.m. Also translate and include
all M-functions called directly or indirectly by myfun.m. Incorporate the
full text of the original M-files into their corresponding C files as C
comments:
mcc -x -h -A annotation:all myfun
Make a generic C translation of myfun.m:
mcc -t -L C myfun
Make a generic C translation of myfun.m:
mcc -t -L Cpp myfun
Make a C MEX wrapper file from myfun1.m and myfun2.m:
mcc -W mex -L C libmatlbmx.mlib myfun1 myfun2
Make a C translation and a stand-alone executable from myfun1.m and myfun2.m
(using one mcc call):
mcc -m myfun1 myfun2
Make a C translation and a stand-alone executable from myfun1.m and myfun2.m
(by generating each output file with a separate MCC call). Note that the
MLIB file "libmmfile.mlib" only needs to be specified when generating a
wrapper file, and when linking the final executable:
mcc -t -L C myfun1 % yields myfun1.c
mcc -t -L C myfun2 % yields myfun2.c
mcc -W main -L C myfun1 myfun2 libmmfile.mlib % yields myfun1_main.c
mcc -T compile:exe myfun1.c % yields myfun1.o
mcc -T compile:exe myfun2.c % yields myfun2.o
mcc -T compile:exe myfun1_main.c % yields myfun1_main.o
mcc -T link:exe myfun1.o myfun2.o myfun1_main.o libmmfile.mlib
Make a shared/dynamically linked library called "liba" from a0.m and a1.m,
where neither a0 nor a1 calls functions in libmmfile:
mcc -t -W lib:liba -T link:lib a0 a1
Make a shared/dynamically linked library called "liba" from a0.m and
a1.m, where at least one of a0 or a1 calls at least one function in
libmmfile. Define LIBMMFILE to be 1 when compiling the C code.:
mcc -t -W lib:liba -T link:lib a0 a1 libmmfile.mlib -M "-DLIBMMFILE=1"
Make a C translation and a stand-alone graphics library executable from
myfun.m (using one MCC call):
mcc -B sgl myfun1
Make a C translation and a stand-alone graphics library executable from
myfun.m (using one MCC call):
mcc -B sglcpp myfun1
Make a shared/dynamically linked library called "liba" from a0.m and a1.m
that makes calls into the MATLAB C/C Graphics Library:
mcc -B sgl -t -W libsgl:liba -T link:lib a0 a1
Note: on PCs, filenames ending with .o above would actually end with .obj.
See also COMPILER/FUNCTION, MCCSAVEPATH, REALONLY, REALSQRT, REALLOG,
REALPOW, COMPILER_SURVEY, COMPILER_BUG_REPORT, MEX, MBUILD.