用法:
mcc [-options] mfile1 [mfile2 ... mfileN] [C/C++file1 ... C/C++fileN]
mcc是调用matlab编译器的命令,你可以从matlab命令行或者DOS,UNIX命令行调用它。它用于将M文件部署到Matlab运行环境外,产生在C和C++里的(wrapper)文件,和有选择的建立独立的二进制文件。默认情况下,它将所有结果文件写入当前文件夹。如果指定了多个M文件,编辑器将为每个文件残生一个C或C++的函数。如果C或目标文件被指定,他们将连通产生的所有C文件被送到mbuild。
选项:
-a:加入到档案文件。
添加一个文件到CTF档案文件。使用
CODE:
-a filename
将一个文件直接加入到CTF档案文件。可以多次使用-a选项。编译器会在matlab路径中寻找这些文件,所以指定完整路径是可选的。这些文件不会被送到mbuild,所以,你可以包含类似数据文件的文件。
-b:产生Excel兼容的公式函数。
产生一个VB文件(.bas)包含Excel公式函数接口的COM对象。当被导入到工作表VB代码,这些代码将允许matlab函数作为一个单元格公式函数来使用。这需要matlab的Excel编译工具。
-B:指定包文件(bundle file)。
在mcc命令行,将文件替换为制定文件的内容。使用
CODE:
-B filename[: , , ..., ]
这个包文件名,应该仅包含mcc命令行选项和对应的参数或者其他文件名。这个文件还可以包含其他-B选项。
-c:只产生C代码。
当此选项同一个宏被调用时,将产生C代码,但是不调用mbuild,也就是,不产生单独的可执行程序。等价于放在mcc命令行后的-T选项。
-d:指定输出文件夹。
-f:指定选项文件。
-g:产生调试信息。
-I:添加文件夹到Path。
-m:产生一个可单独运行的文件。
-M:直接传递。
-N:清空Path。
-o:指定可执行文件名。
-p:将文件夹加入到Path。
-R:运行时。
-T:指定目标阶段。
指定输出文件的目标阶段和类型。使用
CODE:
-T target
来定义输出类型。合法的目标值是:
codegen
compile:exe
compile:lib
link:exe
link:lib
-v:显示详细信息。
-w:显示警告信息。
-W:指定包装函数类型。
控制产生函数包装。使用
CODE:
-W type
来控制产生的M文件函数的包装类型。你提供一个函数列表,编译器将产生这些函数的保证和任何适当的全局变量的定义。下面是合法的type参数。
main:产生一个POSIX脚本main()函数;
lib::产生一个初始化和终止函数,用于编译器产生的函数被编译进一个大的程序。这一选项同样产生一个头文件,包含指定M文件所有函数的原型。成为产生的C/C++文件和头文件的基础文件名。创建一个.exports文件,包含了所有非静态函数名。
com:,,:从M文件产生一个COM对象。
none:不产生包装文件,默认为none。
-Y:license文件。
-z:指定路径。
-?:帮助。
实例
为myfun.m产生一个可执行文件:
CODE:
mcc -m myfun
为myfun.m产生一个可执行文件。myfun.m文件在/files/source文件夹,并将结果C文件和可执行文件放到/files/target文件夹:
CODE:
mcc -m -I /files/source -d /files/target myfun
使用一个mcc调用为myfun1.m和myfun2.m产生可执行文件:
mcc -m myfun1 myfun2
为a0.m和a1.m创建一个共享/动态链接库,叫liba:
CODE:
mcc -W lib:liba -T link:lib a0 a1