MATLAB 编译器的使用

MATLAB 编译器的使用
MATLAB 编译器(相应命令为 mcc)可生成独立应用程序、库、COM 对象、Excel 插件,
218 MATLAB 实用教程
它根据目标类型生成合适的包装器文件。包装器文件包含编译后的应用程序和可执行对象类
型之间的接口,具有下面一些功能。
z 完成包装器指定的初始化和终止运行工作。
z 定义包含路径信息、加密密匙和 MATLAB 组件运行时(MCR)所需其他信息的数组。
z 提供传递接口函数。
MATLAB 编译器生成的组件技术文件(CTF)与最后生成的目标类型(可执行程序或库)
独立的,包装器文件提供了与目标类型的必要接口。
1.环境配置
mcc 命令具有将 m 文件编译生成 exe 文件或 cpp 文件等许多编译功能,使用 mcc 命令之
前必须进行环境配置。mbuild MATLAB 提供的常见编译命令,在命令窗口输入命令“mbuild
- setup”完成配置,配置时第一个问题可选“n”,编译器可选用“Microsoft Visual C/C++ version
6.0”。mex 的配置将在 11.5 节中讲述。
2mbuild 命令
使用命令 mbuild 可对已有 C 文件或 C++文件进行编译,编译生成的 obj 文件可直接双击运
行。比如,要对文件 good.c good.cpp 进行编译,可在命令窗口分别输入命令“mbuild – c good.c
和“mbuild – c good.cpp”。
3mcc 命令
使用 mcc 命令可生成独立可执行文件或 C 共享库。比如,根据文件 file1.m file2.m
成独立可执行文件使用命令“mcc – m file1.m file2.m”,而根据文件 file1.m file2.m 生成 C
共享库使用命令“mcc – l file1.m file2.m”。其他命令可参阅 MATLAB 自带的帮助文档。
4.使用实例
下面结合例子说明独立应用程序的生成方法。
1)编辑 m 文件
MATLAB 程序编辑绘图程序 mytest.m,代码如下。
function mytest() % 定义函数
x=[0,1470,2205,2940,3675,4410,5145,5880,6615,7350];
%定义变量 x(静载曲线横坐标)为一维数组并赋值
y=[0.00,1.13,1.98,2.95,4.12,5.63,7.26,9.15,11.43,14.23];
%定义变量 y(静载曲线纵坐标)为一维数组并赋值
plot(x,y,'*',x,y,'k-') %绘制曲线,星号显示数据点
grid on; %坐标分格线
axis ij;
% 定义坐标原点左上角,横坐标值向右增大,纵坐标值向下增大
xlabel('荷载(kN)'); % 定义 X 轴名
ylabel('位移(mm)'); % 定义Y轴名
title('荷载-位移曲线'); % 定义图名
axis square; % 图形设置为方形
axis on; % 显示坐标轴上标记、格线和单位标志
uiwait(msgbox('静载曲线绘制完毕')); % 弹出消息对话窗口
close
mytest.m 文件保存在指定目录(如 E:matlab_examplemytest),同时,将工作目录选
为该目录。在命令窗口执行命令“mcc -m mytest.m”后,将新增文件夹 mytest_mcr
mytest_mcc_component_data.cmytest_main.cmytest.ctfmytest.exe 等相关文件。
11 章 编译器与外部接口 219
2)测试应用程序
运行上述 mytest.exe 文件,弹出运行结果,如图 11-1 所示。

11-1 应用程序运行结果
3)分发应用
MATLAB 编译器生成的独立应用程序可分发到其他机器(目标机器)运行(两台机器的
操作系统必须相同),操作步骤如下。
Þ 执行命令buildmcr,生成MATLAB组件运行时(MCR)库文档,MCRInstaller.zip将保
存在<matlabroot>/toolbox/compiler/deploy/win32 目录下(<matlabroot>MATLAB7
装目录,下同),该目录下还有文件MCRInstaller.exeunzip
Þ 将下列文件打包并分发到目标机器指定目录:MCRInstaller.zipLinuxMCR库文
档)、MCRInstaller.exeWindows下自解压MCR库工具)、unzipLinux下文件
MCRInstaller.zip解压工具)、mytest.ctf(组件技术文件)、mytest.exe(应用程序)。
4)在目标机器上安装和运行
Þ 将上述打包文件粘贴到目标机器某一位置。
Þ 目标机器上解压打包文件,运行MCRInstaller.exe,将mytest.exemytest.ctf复制到应
用目录下(如C:approot),添加目录<mcr_root> untimewin32 到用户系统路径
<mcr_root>MCR安装路径)。
Þ 运行应用程序

原文地址:https://www.cnblogs.com/fanglijiao/p/11225321.html