[信息与通信]九、MATLAB编译器和Notebookmatlab.pptVIP

  • 4
  • 0
  • 约9.86千字
  • 约 55页
  • 2018-04-22 发布于江西
  • 举报

[信息与通信]九、MATLAB编译器和Notebookmatlab.ppt

[信息与通信]九、MATLAB编译器和Notebookmatlab.ppt

九、MATLAB编译器和Notebook 本章主要内容 编译器概述 编译器的安装和配置 创建MEX文件 创建独立的外部程序EXE文件 Notebook 9.1 编译器概述 MATLAB编译器(The MATLAB Compiler, MCC)可以将M文件转化为C或C++源代码,然后进一步编译链接成MEX文件或可执行程序或共享库文件。编译后可以大大提高程序的运行效率,甚至可以脱离MATLAB环境运行程序。 9.1 编译器概述(续) 编译器主要包括: 将C源码文件生成MEX文件的mex编译器; 将C源码文件生成可独立运行文件的mbuild编译器; 可以将M文件转换成C源码文件并调用mex或mbuild编译器生成MEX文件或exe可执行程序的mcc编译器。 9.1.1 编译器的功能 1.产生源代码,进而生成MEX文件 MEX文件可以提高运行速度,并且可以 隐藏文件算法,避免非法修改源文件。 2.产生C或C++源码,进而生成独立的外 部应用程序(EXE文件) 该程序无需MATLAB环境支持,如果源M 文件使用了绘图指令,则需要图形库支持 9.1.1 编译器的功能(续) 3. 产生C MEX的S函数 加快Simulink中自定义的S函数模块的 运行速度。 4. 产生C共享库(动态链接库、DLL)或C++静态库 它们的使用无需MATLAB环境支持,但 需要MATLAB的数学库。 9.1.2 编译器的局限性 1.不支持M脚本文件的编译。 2.不支持用户自定义的对象。 3.不支持eval, input, inline等函数。 4.不支持Java接口。 9.2 编译器的安装和配置 9.2.1 配置MATLAB编译器的前提准备 1. 计算机必须安装有ANSIC/C++编译器。下面任何一种C/C++编译器均可 Microsoft Visual C/C++5.0以上版本。 Borland C/C++5.0以上版本。 LCC C (MATLAB自带,只能用于生成MEX文件)。 9.2 编译器的安装和配置(续) 2.在安装MATLAB时,选中组件 MATLAB Compiler C/C++ Math Library MATLAB C/C++ Graphics Library 9.2.2 为产生MEX文件进行预配置 要实现从M文件到MEX文件的转换,就必须先对M编译器进行正确设置。预配置包括两个过程:一是根据外部编译器的类型、软件位置对M编译器进行设置;二是利用MATLAB提供的标准文件对用户设置加以验证。 9.2.2 为产生MEX文件进行预配置(续) 1. 对MATLAB编译器应用程序mex的配置 启动配置:在MATLAB指令窗口运行mex-setup 命令 mex-setup Select a compiler: [1] Lcc C version 2.4 in C:\MATLAB6P5\sys\lcc [2] Microsoft Visual C/C++ version 6.0 in D:\Program Files\Microsoft Visual Studio [0] None Compiler:2 9.2.2 为产生MEX文件进行预配置(续) The default options file: D:\Documents and Settings\sllu\Application Data\MathWorks\MATLAB\R13\mexopts.bat is being updated from C:\MATLAB6P5\BIN\WIN32\mexopts\msvc60opts.bat... Installing the MATLAB Visual Studio add-in ... Updated D:\Program Files\Microsoft Visual Studio\common\msdev98\template\MATLABWizard.awx from C:\MATLAB6P5\BIN\WIN32\MATLABWizard.awx 9.2.2 为产生MEX文件进行预配置(续) 2. 验证配置的正确性 验证分两步进行:首先验证mex命令是否可以将C源码转换成MEX文件;然后再验证mcc命令是否可以将M文件转换成MEX文件。mcc命令可以在M文件转换成C源码后,自动调用mex命令,将C源码转换成MEX文件。 9.2.2 为产生MEX文件进行预配置(续) 利用MATLAB自带的yprime.c和yprime.m 来验证mex和mcc命令。 (1)验证me

文档评论(0)

1亿VIP精品文档

相关文档