第19章MATLAB710编译器

上传人:M****1 文档编号:587201636 上传时间:2024-09-05 格式:PPT 页数:15 大小:629.52KB
返回 下载 相关 举报
第19章MATLAB710编译器_第1页
第1页 / 共15页
第19章MATLAB710编译器_第2页
第2页 / 共15页
第19章MATLAB710编译器_第3页
第3页 / 共15页
第19章MATLAB710编译器_第4页
第4页 / 共15页
第19章MATLAB710编译器_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《第19章MATLAB710编译器》由会员分享,可在线阅读,更多相关《第19章MATLAB710编译器(15页珍藏版)》请在金锄头文库上搜索。

1、技术凝聚实力技术凝聚实力专业创新出版专业创新出版第19章 MATLAB 7.0编译器lMATLAB为用户提供了简单、明快的语法,功能强大的内置函数,丰富多样的工具箱,可以满足各专业领域的需要。利用MATLAB,用户只需很少的代码就能实现一些复杂的功能。用户也许希望自己编写的程序脱离MATLAB环境独立运行,或嵌入到其他开发环境(如VS)中的工程中,或嵌入到PPT中加以展示,这正是MATLAB编译器所要完成的工作之一。l基于程序执行效率的考虑,也是使用MATLAB编译器的一个主要原因。我们知道MATLAB程序语言是一种边解释边执行的程序语言,其执行效率远低于二进制代码。通过MATLAB编译器,用

2、户可以将MATLAB程序转换成二进制代码形式存在的可执行程序,如独立MATLAB环境的可执行程序、函数库(DLL)或组件(COM、ActiveX等)等,从而大大提升执行效率。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.1 MATLAB编译器简介lMATLAB Compiler是MATLAB应用程序集成与发布的一种重要工具。MATLAB Compiler能够将MATLAB的M函数文件转换成独立可执行的应用程序、可发布的应用程序函数库(DLL)或组件(如COM、ActiveX等),这些应用程序组件能够脱离MATLAB环境在不同的平台上应用。特别是在最新版的MATLAB7.0中,MATLA

3、B Compiler的功能得到很大的提升和扩展,几乎可以编译所有的工具箱函数。l本节首先简要介绍MATLAB Compiler 4的工作原理和过程,并讨论MATLAB Compiler 4与早期版本MATLAB Compiler的差别;第19.1.2节列出了MATLAB Compiler 4的主要功能和缺陷;第19.1.3节介绍了脚本文件与函数文件的转换。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.1.1 MATLAB Compiler 4lMATLAB Compiler 4是在第三方C/C+编译器的支持下,将MATLAB的M函数文件转换为可独立执行的应用程序、函数库或组件的应用程序

4、发布工具。MATLAB Compiler 4与早期版本的MATLAB Compiler有所不同,早期的MATLAB Compiler只是将M函数文件转变成标准C/C+源代码,然后由第三方C/C+编译器将其编译成独立可执行的应用程序、函数库或组件等。lMATLAB Compiler 4由三个组件构成,即MATLAB Compiler、MATLAB Component Runtime(MCR)和Component Technology File(CTF)。其中MATLAB Compiler组件是MATLAB Compiler 4提供给用户用于应用程序发布的界面,是包含若干交互式命令和命令行开关选项

5、的工具命令行。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.1.2 MATLAB Compiler 4的功能和局限性lMATLAB Compiler 4比起早期版本的MATLAB 编译器性能有很大的提升,这主要体现在对MATLAB各项功能的支持上有很大扩展,特别是对工具箱函数的支持。下面列出了MATLAB Compiler 4的几个应用:l独立可执行应用程序:不需要MATLAB 7.0软件环境的支持,可以在没有安装MATLAB的计算机上运行;lC与C+共享库(在Windows操作系统中为动态连接库DLL);lExcel附件:需要MATLAB 7.0 Builder;lCOM附件:需要M

6、ATLAB 7.0 Builder。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.1.3 脚本文件与函数文件的转换l针对MATLAB Compiler不能处理脚本文件的问题,用户可以事先将脚本文件转换为M函数文件,然后利用编译器编译该M函数文件。l熟悉M程序设计(参考本书第15章)的用户应当知道脚本文件与函数文件的转换是十分容易的,只需在脚本文件的开头添加一行函数声明即可。下面仅通过一个简单的示例说明如何使用编译器编译脚本文件。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.2 编译器的安装和设置l在使用MATLAB Compiler之前用户需要正确地安装MATLAB、MATLA

7、B Compiler及一个MATLAB Compiler支持的第三方C/C+编译器,而且需要对MATLAB Compiler进行合理的配置。本节首先介绍编译器的安装和配置,最后介绍MCR的安装,这是MATLAB外部应用程序运行必需的环境支持。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.2.1 安装编译器lMATLAB Compiler 4至少需要MATLAB 7.0的支持,在MATLAB安装过程中要确保“MATLAB Compiler”被选中(默认情况)。lMATLAB对第三方C/C+编译器的支持是比较广泛的,下面列出了Windows平台下MATLAB Compiler 4支持的常用

8、第三方C/C+编译器。lLcc C:MATLAB 7.0自带的编译器,仅能够编译C代码,不能编译C+代码。lBorland C+:适用版本为5.3、5.4、5.5和5.6。lMicrosoft Visual C/C+(MSVC):适用版本为6.0、7.0和7.1。l用户可以通过在命令窗口输入指令mbuild setup查看编译器支持的第三方C/C+编译器,详细内容参考第19.2.2节的编译器设置。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.2.2 设置编译器l完成编译器的安装工作之后,还不能正常地使用编译器进行应用程序发布,用户需要对编译器进行相关的设置。编译器的设置在第一次使用MA

9、TLAB编译器或修改编译器安装路径后进行。另外如果用户需要选择其他的第三方C/C+编译器,也需要重新设置MATLAB编译器。完成编译器设置之后,用户就可以直接使用选定的第三方C/C+编译器完成应用程序的发布工作。l用户可以在操作系统或MATLAB的命令窗口中利用如下指令:l mbuild -setup技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.2.3 安装MCRl第19.1节中提到MATLAB Compiler 4由三个组件构成,即MATLAB Compiler、MATLAB Component Runtime(MCR)和Component Technology File(CTF)。

10、MATLAB Component Runtime集成了MATLAB所有的语言特性和核心共享函数库,由MATLAB Compiler创建的独立可执行应用程序、函数库或组件的正常运行都需要MCR的支持。l在进行应用程序发布时,考虑到最终用户的计算机上可能没有安装MATLAB,用户需要将编译生成的目标文件,连同相应的CTF文件和MCR安装文件一并打包发布给最终用户。最终无须拥有MATLAB环境,只需要安装MCR,就能正常运行发布的应用程序。l如果发布的是独立可执行应用程序,则需要发布给最终用户的是CTF文件和MCR安装文件;如果发布的是动态共享库,则需要发布给最终用户的是动态库文件(DLL)、相应的

11、头文件(.h)、库文件(.lib)以及CTF文件和MCR安装文件。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.3 编译器使用入门l本节将具体介绍MATLAB Compiler的使用方法。首先详细讨论mcc编译命令的用法,主要是各类编译选项的含义等;在此基础上以示例的形式介绍M函数文件的完整编译过程,第19.3.3节介绍了含绘图指令的M文件编译。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.3.1 mcc编译指令lmcc编译指令是MATLAB Compiler提供给用户进行应用程序发布的一组命令行工具,用户通过设置不同的开关选项完成各种不同的应用程序发布任务。下面分别给出了MA

12、TLAB Compiler 4和MATLAB Compiler3两个版本的mcc使用方法。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.3.2 M文件编译l前面的一小节对mcc的使用进行了概要式的介绍,本小节及下一小节通过两个例子分别讨论M文件和含绘图指令的M文件的编译过程,目的是熟悉mcc的使用方法。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.3.3 编译含绘图指令的M文件l强大的图形功能和灵活的数据可视化能力是MATLAB流行的重要原因。本小节讨论如何将包含绘图指令的MATLAB应用程序转换为独立可执行应用程序。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.4 由

13、M文件创建独立可执行应用程序l第19.3节的两个示例已经详细讨论了如何利用MATLAB Compiler生成独立可执行的应用程序,这两个例子中的M函数文件都是具有输入参数的函数文件,一般很少将具有参数的M文件直接转换为独立可执行应用程序,而是另外编写一个不含参数的M文件作为主函数文件,通过主函数文件调用含参数的M函数文件。l第19.3.2节例19.2中的M函数文件包含参数n,在系统命令窗口调用生成的可执行应用程序时,输入参数以字符的形式传入函数之中,因此在函数的开始需要将其转换数值类型,否则会出现执行错误。这里的输入参数仅是一个数值标量,如果输入参数为矩阵,那么将很难通过系统命令窗口运行程序。技术凝聚实力技术凝聚实力专业创新出版专业创新出版19.5 由M文件创建函数库(DLL)l用户可以利用MATLAB Compiler将M函数文件编译为共享函数库(DLL),这些共享函数库可以被C/C+/FORTRAN等高级语言调用。本节介绍如何由M文件生成C共享函数库,以及如何在C中调用这些函数的方法。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号