||
本文以MatlabR2010b自带编译器Lcc-win32 C对.m文件编译为例介绍Matlab程序的发布。分三部分介绍:程序准备与路径添加、编译器选择与文件编译以及程序打包与移植。
一. 程序准备与路径添加
1) 下面是一个演示例子的.m文件内容
clc
clear
fprintf(1,'---------------------------------n');
fprintf(1,' 本程序将绘制随机平面图n');
fprintf(1,'---------------------------------nn');
%读入硬盘数据
fprintf(1,'正在生成随机数据,请稍等...n');
results=rand(100,100);
temp=size(results,2);
fprintf(1,'n数据生成完毕,共有:');
fprintf(1,'%d',temp);
fprintf(1,' 列nn');
%下面输入绘制节点的信息
k=input('请输入绘制哪列并回车 k=:');
fprintf(1,'n');
if k>0&&k<=temp&&rem(k,1)==0
n=k;
else
fprintf(1,'输入有误,请输入小于问题列数的正整数nn');
k=input('请重新输入列数并回车 k=:');
fprintf(1,'n');
if k>0&&k<=temp&&rem(k,1)==0
n=k;
else
fprintf(1,'输入列数再次出错,再见!nn');
fprintf(1,'---------------------------------n');
return
end
end
nx=(n-1)*2+1;
ny=nx+94;
x=results(:,nx);
y=results(:,ny);
fprintf(1,'n绘制已完成,请查看图形窗口!nn')
fprintf(1,'---------------------------------n');
plot(x,y,'r');
grid on
axis square
2) 将上面的脚本文件拷贝到matlab空白函数文档中,并命函数名为Myexample:如
function Myexample
% 这仅仅为了演示上面例子
% 下面贴放上面的.m文件内容
end
注:事实上脚本文件也可以直接编译,这里转化为函数文件是因为一般说来大多数程序包含较多的子函数,这时可以把几个子函数一起编译为一个文件,多子函数编译请参看参考文献。
3) 将上面的函数存储在一个文件夹中(路径不能有中文),命名必须与函数名example同名:如存为:D: test Myexample.m。
4) 将上面路径D: test 置为当前路径。
二. 编译器选择与文件编译
1)在matlab命令窗口运行 mbuild –setup 命令,将显示:
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n?
2)请在屏幕中输入 y,命令窗口将显示:
Select a compiler:
[1] Lcc-win32 C 2.4.1 in C:PROGRA~1MATLABR2010bsyslcc
[0] None
Compiler:
注:如果你机器中安装过其他可编译Matlab程序的编译器,将显示出更多的选择依次为[2], [3] …; 至于到底都什么编译器能编译Matlab程序, 你可以通过在上面不输入y而输入 n 查看,不过查看后你就看不到你机器到底安装过什么编译器了,当然为了快速返回,你可以输入0退出mbuild –setup 命令。
3)在Compiler: 后面输入1,屏幕将显示:
Please verify your choices:
Compiler: Lcc-win32 C 2.4.1
Location: C:PROGRA~1MATLABR2010bsyslcc
Are these correct [y]/n?
4)请在屏幕中输入 y,命令窗口将显示:
Trying to update options file: C:Documents and SettingsthinkApplication DataMathWorksMATLABR2010bcompopts.bat
From template: C:PROGRA~1MATLABR2010bbinwin32mbuildoptslcccompp.bat
Done . . .
注:至此编译器已经选择完毕,选择其他编译器输出内容大致相同但一般略多些。
5)在窗口运行命令 mcc –m Myexample, 这一步需要一段时间,完成后将在test文件夹中生成一个可执行文件Myexample.exe。点击该文件在本机上即可运行。
三. 程序打包与移植
1) 将可执行Myexample.exe及编译机器中的MCRinstaller.exe (C:Program FilesMATLABR2010btoolboxcompilerdeploywin32)拷贝到想移植的机器中;
2) 先安装MCRinstaller.exe,注意安装目录应该选择Myexample.exe所在的目录;
至此,编译过的Myexample.exe程序即可脱离编译机器运行了。
参考文献:
1.将MATLAB程序编译成独立可执行的程序,http://www.zdh1909.com/html/matlab/14481.html
2.将matlab程序编译成exe文件并打包的最简单方法,http://wenku.baidu.com/view/ff7b5a9851e79b896802260a.html
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 09:16
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社