matlab用mcc生成单文件 如何修改MATLAB中用mcc

作者&投稿:尘舒 (若有异议请与网页底部的电邮联系)
1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2005实现。2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。在命令窗口输入deploytool即可看到。具体使用方法请Help。当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件;注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;4、安装<matlab path>\toolbox\compiler\deploy\win32目录下的MCRInstaller。 5.有时候我们会需要file.m文件有参数传递,像下面的代码的一样:我们要传一个参数ms进去,但是在控制台下运行file.exe '5'后面参数只能是字符串。所以我们在M文件中把它进类型转换。 MATLAB 产品族可以用来进行以下各种工作:  ● 数值分析   ● 数值和符号计算   ● 工程与科学绘图   ● 控制系统的设计与仿真   ● 数字图像处理 技术  ● 数字信号处理 技术  ● 通讯系统设计与仿真   ● 财务与金融工程   MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。 matlab特点   ●此高级语言可用于技术计算   ●此开发环境可对代码、文件和数据进行管理  ●交互式工具可以按迭代的方式探查、设计及求解问题   ●数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等   ●二维和三维图形函数可用于可视化数据   ●各种工具可用于构建自定义的图形用户界面   ●各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C++、Fortran、Java、COM 以及 Microsoft Excel)集成 MATLAB的优势   (1)友好的工作平台和编程环境  MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。  (2)简单易用的程序语言  Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。  (3)强大的科学计算机数据处理能力  MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微

介绍了如何在matlab环境下,通过mcc命令,把m文件转换为exe文件。
  1).
在matlab中建立一个m文件,命名为testadd.m。内容后附。
   2). 在command
window输入“mcc -m testadd.m”,等待生成testadd.exe文件。

3).
在进入windows下控制台程序,然后进入包含testadd.exe的文件夹。
 

   4).
输入“testadd.exe 10
15”。注意,testadd.m函数有两个参数,而testadd.exe的输入参数只能通过commandline参数输入,但输入的参数为char型,所以程序里必须对此考虑。

5).
验证输出结果。

代码附下testadd.m
function result = testadd(v1, v2)
if (ischar(v1))
 

   v1 =
str2num(v1);
end
if (ischar(v2))
    v2 =
str2num(v2);
end
result = v1 + v2;
disp(result);
reply = input('Press any key to leave...', 's');
fprintf('Thanks for using!
');



mcc生成EXE有诸多不便,你可以去MathWork网站上查询一下,一般高难度问题那里有解答。

如果十天内再没有回答,我就自己收回分数了。

如何修改MATLAB中用mcc~

假设你的图标文件是:DA.ico;你想编译的m文件是:data.m
第一步:创建一个文本文件,里面写入"ConApp ICON DA.ico"
第二步:把刚才的文本文件重命名为一个rc文件,如DA.rc
第三步:在matlab命令窗口中键入:
system();
这一步是把DA.rc和DA.ico编译到一起
此时在你的当前工作目录下会生成一个名为DA.res的resource file
第四步:将m文件与res文件一起编译
mcc -m data.m -M DA.res
此时创建的exe文件的图标就变成你想要的DA.ico图标样式

假设你的图标文件是:DA.ico;你想编译的m文件是:data.m
第一步:创建一个文本文件,里面写入"ConApp ICON DA.ico"
第二步:把刚才的文本文件重命名为一个rc文件,如DA.rc
第三步:在matlab命令窗口中键入:
system();
这一步是把DA.rc和DA.ico编译到一起
此时在你的当前工作目录下会生成一个名为DA.res的resource file
第四步:将m文件与res文件一起编译
mcc -m data.m -M DA.res
此时创建的exe文件的图标就变成你想要的DA.ico图标样式

如何将MATLAB程序编译产生DLL
答:然后在VS2005中创建一个Win32 Console的VC++工程,我在测试时取名为testmyadd2_r2007b。把以上四个文件拷贝到VC++工程的源代码所在目录。接下来设置VC++,让它能找到MATLAB接口函数的定义及连接库函数。可以有两种设置方式:一种是改VS2005中关于VC++的设置,这样的好处是每个新的工程都能自动获得这个...

matlab中如何使用M文件?和c语言有什么区别及相同?
答:m文件可以直接打开,并运行,就像c语言里的执行一样,可以一句一句执行,或者自己设置断点检查执行情况。matlab主要优势是集成了强大的数学计算功能,对大规模数据的计算精度和效率可以保证。matlab中集成了很多数学计算函数,能很方便的调用,而c语言,你一定知道,任何一个算法都需要自己设计,并调试,以保证...

如何将matlab程序编译成独立可执行的程序
答:注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;4、安装<matlab path>\toolbox\compiler\deploy\win32目录下的MCRInstaller。二、脱离matlab运行可执行程序 MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有...

MATLAB打包成独立exe文件,安装之后提示错误
答:二、在matlab命令窗口中键入:system(['"' matlabroot '\sys\lcc\bin\lrc" /i "' pwd '\microlong.rc"']);这一步是把Microlong.rc和Microlong.ico编译到一起,此时在你的当前工作目录下会生成一个名为Microlong.res的resource file 三、在matlab命令窗口中键入:mcc -m mune.m -M Micro...

vc6.0编译matlab生成的.m文件为.dll文件时提示:Mcc returned error code...
答:在国外一个matlab论坛,有人说原因是matlab的路径中的一些文件名含有空格,解决办法是去掉文件名中的空格或修改matlab路径。但是我试了一下,并没有解决问题。可能是我没找对matlab路径或其他,你要解决了麻烦告我一下啊!

matlab m文件打包dll库函数时,mcc总提示编译出错,请问是怎么回事,是...
答:安装函数库,在matlab\toolbox\compiler\deploy\win32目录下的MCRInstaller.exe文件

怎样用matlab生成vs可调用的dll形式的com组件
答:1.在matlab中生成dll 在m文件中实现如下功能:获得N个魔方矩阵的秩。m文件的内容如下:function r = mrank(n)r = zeros(n,1);for k=1:n r(k) = rank(magic(k));end 将上述内容保存为:mrank.m 在matlab的command 窗口键入:>> mcc -B csharedlib:mrank mrank.m %该命令将在后面...

matlab gui怎么生成exe
答:1 在matlab的command窗口中输入 mcc -B sgl GUI.m 2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器 此时仍需matlab所必需的动态连接库。3. 将 <matlab path >/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上 4.在机器上先运行mglinstallar.exe, 然后选择解压目录,...

c语言怎么调用matlab生成的fis算法文件
答:在command window中输入:mcc -m 文件名 文件名为你要转的.m文件名,可以得到自带编译器转的.c文件等

如何用matlab 7.5将m文件转换成cpp文件进行混合编程
答:请看这个帖子【mcc、mbuild和mex命令详解】http://www.matlabsky.com/thread-544-1-1.html (1)创建MEX文件 >>mcc –x filename (注意这个命令在2008a中已经去掉了)将M文件filename.m翻译成C代码,并生成一个可被Matlab直接调用的C的MEX。(2)创建simulink S函数 >>mcc –s filename 将M文件...