本文主要是介绍matlab mcc调用出错,matlab用mcc生成exe程序出错了,执行到中途出错,之前还好好的,突然就这样,昨天用都没事成功了,...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
介绍了如何在matlab环境下,通过2113mcc命令,把m文件转换为5261exe文件。 1).在4102matlab中建立一1653个m文件,命名为testadd.m。内容后附。 2). 在commandwindow输入“mcc -m testadd.m”,等待生成testadd.exe文件。3).在进入windows下控制台程序,然后进入包含testadd.exe的文件夹。 4).输入“testadd.exe 1015”。注意,testadd.m函数有两个参数,而testadd.exe的输入参数只能通过commandline参数输入,但输入的参数为char型,所以程序里必须对此考虑。5).验证输出结果。代码附下testadd.mfunction result = testadd(v1, v2)if (ischar(v1)) v1 =str2num(v1);endif (ischar(v2)) v2 =str2num(v2);endresult = v1 + v2;disp(result);reply = input('Press any key to leave...', 's');fprintf('Thanks for using!\n');,1、安2113装编译器。可有多种选择,matlab自带了一5261个LCC,推荐使用VC++6.0,我基于VS 2005实现。2、设置4102编译器。在1653matlab命令行输入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、安装\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的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微,如果十天内再没有回答,我就自己收回分数了,mcc生成EXE有诸多不便,你可以去MathWork网站上查询一下,一般高难度问题那里有解答www.mh456.com防采集。
建议用vc来编译追问试过了,没用。会不会是生成了什么系统文件,或者在编译过程中损坏了什么系统文件,因为matlab重装了好几遍,而别的机子是好的,是可以编译运行的。追答应该是你的VC的问题,其实编译matlab程序是个鸡肋,在其他的电脑运行同时需要同时.net framework 和MCR的支持,MCR都100多MB,既然可以在其他的机器上可以编译,那就行了,也就是演示用一下
如果版本够高,建议用deploytool代替
看不明白。。。。追问最主要的是下面这个错误怎么形成的 >> mcc -m VA_GUARD_GUI.m'cmd' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 Error: An error occurred while shelling out to mbuild (error code = 1). Unable to build executable (specify the -v option for more information). ??? Error using ==> mccError executing mcc, return status = 1 (0x1).
+文件。 命令的格式为: mcc[-option]fun[fun2][mexfile1][mlifile] 此函数的作用是将matlab程序fun.m转化为c程序fun.c或者c++程序fun.cpp 转化后的文件默认在当前目录中。 若M文件多于一个,那么每个文件对应转化相应的c和c++文
重新2113mbuild一遍,可以多试几次,算是人品测试吧5261还有问题试一下自己4102安装的软件比如1653Select a compiler: [1] Lcc-win32 C 2.4.1 in F:\PROGRA~1\MATLAB\R2009a\sys\lcc [2] Microsoft Visual C++ 6.0 in D:\Program Files\Microsoft Visual Studio 选2只有自己试一下
现在要把他们转化为c和cpp程序在matlab工作窗口中输入下面命令》》mcc-mc -m filaname, filaname为要转成exe的m文件;注:在以前的版本中,用编译
内容来自www.mh456.com请勿采集。
这篇关于matlab mcc调用出错,matlab用mcc生成exe程序出错了,执行到中途出错,之前还好好的,突然就这样,昨天用都没事成功了,...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!