使用mcc命令可以根据MATLAB M文件创建COM组件。语法格式为:
code.matlab
mcc -W com:component_name,className -T link:lib options
class{className:mfilename1 mfilename2...mfilenameN}
下面介绍语法的各个部分。
-W:让编译器创建一个打包器函数。该选项带一个字符串参数,指定组件的某些特性,如表3-2中所示。
表3-2 –W字符串参数及其描述
| -W 字符串参数 | 描 述 |
|---|---|
| com: | 该关键字告诉编译器要创建的组件的类型,后面跟一冒号,指定创建一个COM组件 |
| component_name | 指定组件名称及其名字空间,名字空间是一个句号间隔的列表,如 componentname.groupname.component |
| className | 指定.NET类的名称 |
code.matlab
mfilename1 mfilename2…mfilenameN
指定M文件或即将作为要创建的类的方法的M文件。
-T
指定输出类型。要创建COM组件,需要指定关键字link:lib,它将对象链接到共享库(DLL)中。
COM打包器选项会创建一些文件的超集,这些文件是在生成C或C++库打包器时创建的。除了C或C++库文件外,COM打包器会创建表3-3中的文件。
表3-3 COM打包器创建的文件
| 文 件 | 描 述 |
|---|---|
| COM的接口描述文件 | |
| COM类的C++头文件 | |
| COM类的C++源文件 | |
| COM对象的DLL接口 | |
| COM DLL的定义文件 |
如果没有指定<class_name>,则默认时为<component_name>。如果没有指定版本号,则默认时采用最后生成时的版本,或者没有先前版本时指定为1.0。
COM打包器选项生成创建一个单独的COM对象所必需的所有代码和文件,该对象包含编译器生成的所有接口。打包器选项创建一个与指定的<class_name>名称相同的COM类和一个对应的名为<class_name>的接口类。使用主版本号和次版本号来控制所生成的COM接口的主版本号和次版本号。