MATLAB7.0使用详解-第17章MATLAB7.0编译器.ppt_第1页
MATLAB7.0使用详解-第17章MATLAB7.0编译器.ppt_第2页
MATLAB7.0使用详解-第17章MATLAB7.0编译器.ppt_第3页
MATLAB7.0使用详解-第17章MATLAB7.0编译器.ppt_第4页
MATLAB7.0使用详解-第17章MATLAB7.0编译器.ppt_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第17章 MATLAB 7.0编译器,在使用MATLAB进行科学计算、程序编辑、界面设计时,用户都希望系统的速度和效率可以“更上一层楼”,这也是对于所有科学工程领域软件的共性要求。针对用户的此种需求,MATLAB 7.0特别提供了编译器Compiler 4.0。 使用编译器不但可以提高程序的运行效率,而且可以脱离MATLAB环境独立运行一些程序。本节主要介绍MATLAB编译器的使用方法,包括编译器的基本知识、MATLAB程序和外部程序的相互转换。,17.1 编译器的功能与局限,本节主要讲解MATLAB 7.0的编译器具有的功能和所存在的局限性。,17.1.1 编译器的功能与局限,本章引言中已经介绍了,MATLAB 7.0中的编译器为Compiler 4.0,其功能概括来说就是将M-文件作为其输入变量,进行编译重新分配后,产生可以独立运行的、与平台相关的应用程序或相对应的软件组件,编译器包括以下几种。 独立运行的程序:在运行之中不需要MATLAB 7.0软件环境,也可以在没有安装MATLAB的机器上运行。 C与C+共享库(在Windows操作系统中为动态连接库DLL):这些库可以在安装了MATLAB的机器上运行。 Excel附件:需要MATLAB 7.0 Builder。 COM附件:需要MATLAB 7.0 Builder。,17.1.2 脚本文件向函数文件转换,上一小节介绍了编译器的局限,其中一点就是不能直接编译脚本文件,当用户需要对脚本文件进行编译的时候,一种便捷的方法就是先把脚本文件转换为函数文件,编译器可以编译函数文件。读者如果阅读了本书的第8章,应该熟知脚本文件与函数文件的转换是十分方便的,即在脚本文件的开头添加一行函数声明行。下面举例说明使用编译器编译脚本文件的过程。,17.2 编译器的安装和设置,本节主要讲解编译器的安装和设置。,17.2.1 编译器的安装,在安装MATLAB编译器之前,用户要确保安装以下任何一种与MALTAB 7.0适配的ANSI C/C+编译器。 Lcc C:MATLAB 7.0自带的编译器,仅能够编译C代码,不能编译C+代码。 Borland C+:可行版本为5.3、5.4、5.5和5.6。 Microsoft Visual C/C+(MSVC):可行版本为6.0、7.0和7.1。 说明:即使用户不安装任何第3方编译器,也可以在完成MATLAB 7.0的安装后,编译C程序代码。 在做好以上ANSI C/C+编译器的安装准备后,就可以进行MATLAB 7.0的编译器安装了。读者需要明确,编译器的安装是包含于MATLAB的安装过程中的(可参考本书第1章的有关内容),如果用户选择典型安装,并在产品安装界面中,选择安装MATLAB Compiler(MATLAB默认其被选中),则可以在MATLAB安装中同时完成编译器的安装。,17.2.2 编译器的设置,在完成编译器的安装后,用户一般要对编译器进行设置,以保证其的正常工作。如果系统中安装了C和C+的编译器,则需要使用MATLAB中的mbuild函数,选择系统中与MATLAB编译器相关联的编译器,命令格式如下。 mbuild setup 读者需要注意,在函数mbuild和参数setup前的短横线“-”之间,需要有一个空格。 说明:如果任意第3方编译器安装在MATLAB的默认路径下,则用户不需要调用mbuild函数进行上述的设置。,17.2.3 为产生MEX文件进行编译器设置,上一小节介绍的是为实现从M-文件到独立外部应用程序的转换,而对编译器进行的设置的方法和步骤。如果用户只需要M-文件转换为C程序代码,即只需要产生MEX文件,则只要进行以下的设置即可。 (1)在MATLAB命令窗口输入代码如下。 mex setup (2)启动MATLAB自定位机制,输入y,MEX将自动搜索外部编译器的类型、版本及所在路径,显示如下。 Select a compiler: 1 Lcc C version 2.4 in E:MATLABsyslcc 0 None Compiler: (3)确定选择的编译器。输入1,选择唯一的编译器,系统进而显示如下信息,等待用户确定选择。 (4)如果用户确定选择无误,则输入y确定选择。系统显示如下信息。,17.2.4 验证编译器设置的正确性,本小节是承接上一小节内容的,讲解验证编译器设置的正确性的方法和步骤。 要验证设置的正确性,必须要从两个方面分别进行操作,即一是验证外部C代码文件能否正确转换为M-文件;二是验证M-文件能否正确地转换为MEX文件。本节进行验证的例子都取自MATLAB自带原始文件,这样可以避免程序本身的错误混淆读者对编译器设置正确性的判断。 首先,验证编译器能否将外部C代码文件正确地转换为M-文件。,17.3 编译器的使用,在完成编译器的安装后,本节将具体讲解编译器的使用方法,主要内容为MCR的安装、编译器的工作流程及编译命令mcc的使用方法。,17.3.1 安装MCR,MATLAB 7.0编译器采用的是MCR技术,即MATLAB Component Runtime,它是用来确保M-文件执行的一组独立的共享库,且对MATLAB语言完全支持。用户需要安装MCR,才能使用MATLAB编译器生成组件。为了读者更好地理解MCR技术,本小节特别针对其安装和使用流程做详细的介绍。 读者可以在Windows环境下安装MCR,步骤如下。,17.3.2 编译流程,MATLAB 7.0编译器采用了Component Technology File(CTF)的存档方式来组织培植文件包,所有的M-文件都运用高级加密标准(AES)进行了1024位密码的加密,并以CTF格式(.ctf)存储。读者可以在实际操作的过程中发现,任何一个由编译器产生的应用程序或者共享库均有一个与之对应的.ctf文件存档,其中当然也包括所有基于MATLAB 7.0的M-文件和MEX文件。 MATLAB编译器生成的独立文件或组件的流程无须用户控制,是完全自动的。用户只需要提供一系列M-文件程序作为构成应用程序。下面以对foo.m文件和bar.m文件的编译作为示例,向读者讲解MATLAB编译器的基本编译流程。,17.3.3 mcc编译命令,当用户需要调用编译器时,使用指令mcc,无论需要生成独立的外部可执行程序,或者创建一个C共享库及软件组件,只要源代码文件是M-文件,都可以使用编译指令mcc来实现。用户可以在MATLAB 7.0、DOS和UNIX环境中使用mcc指令。 用户可以使用一种或者多种编译器参数给mcc指令,大部分参数是单个字母,以下代码即是对于文件“happy_compiler.*”(“*”代表外部文件类型,如“c”)进行编译的操作。 mcc -m happy_compiler 有些参数由两个字母组成,如下代码。 mcc -m g happy_compile

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论