《混合编程环境的搭建》由会员分享,可在线阅读,更多相关《混合编程环境的搭建(22页珍藏版)》请在金锄头文库上搜索。
1、第1章 混合编程环境的搭建在实际的程序开发中,为了提高开发效率并使开发的程序功 能强大,性能优异,通常将MATLAB与C/C+进行混合 编程。混合编程可以发挥它们各自的优势,更好地解决实 际问题。本章将介绍MATLAB与C/C+混合编程的优缺 点、MATLAB与C/C+混合编程的主要方法、Visual C+ 6.0(后面简称VC+)和MATLAB的安装过程,以 及安装和配置的常见问题。1.1 MATLAB与C/C+混合编程的优点MATLAB目前已经成为科学运算领域的标准编程语言和开 发工具。但是,在图形用户界面处理方面功能不够强大。 而C/C+由于其适用性广、效率高,在很多领域得到了广 泛应用
2、。尤其是VC+集成环境将可视化程序设计和算法 相融合,成为多领域程序开发利器。所以,如果能够将 MATLAB与VC+进行有效结合,发挥各自的优势,势必 将达到事半功倍的效果。1.1.1 MATLAB编程的优缺点作为第四代计算机语言的MATLAB,它利用其丰富的函数 资源,可以使编程人员从繁琐的程序代码中解放出来,将 精力集中在领域问题上而不是编程上。MATLAB语言相 对于传统的编程语言有很多优点1.1.2 C/C+编程的优缺点C语言作为一种简单高效的编程语言,易于编写简单的程序 。C语言使用面向过程的编程模式,从而减少对计算机的 依赖。作为一种面向过程编程语言,由于其十分接近汇编 语言。所以
3、,可以说C语言既是高级语言也是低级语言。1.1.3 混合编程的优缺点从上面分析可以知道,MATLAB是当今应用最为广泛的数 学软件。它具有相当强大的数值计算、数据处理、系统分 析、图形显示以及符号运算、各专业领域工具箱等功能。 在这个平台上,可以简单地编程就可以完成十分复杂的功 能,大大提高了工程分析计算的效率。1.2 混合编程主要方法概述MATLAB和VC+混合编程有很多种。目前常用的几种方法 包括,VC+调用MATLAB引擎、基于数据文件交换的方 法、基于COM技术的方法、使用Matcom方法、基于 ActiveX控件的方法和使用MATLAB Add-in方法等混合 编程方法。1.2.1
4、VC+调用MATLAB引擎MATLAB Engine(引擎)是指一组由MATLAB软件提供的 接口函数。它支持C/C+、Fortran等编程语言。通过调 用这些接口函数,用户可以在其它编程环境中实现对 MATLAB的控制。1.2.2 基于数据文件交换的方法MATLAB中的数据文件MAT是一种数据文件,用来保存 MATLAB工作空间中的变量。使用它可以解决不同编程 语言之间传递数据问题,这也是混合编程的主要方法之一 。MAT文件是MATLAB软件使用的一种特殊文件格式的 数据文件。该数据文件采用二进制格式进行描述。开发人 员可以将一个或者多个特定的MATLAB变量定义并保存 在MAT文件中,供需
5、要时候使用。MATLAB通常采用 MAT文件把工作空间的变量存储在磁盘里。1.2.3 基于COM技术的方法基于COM技术的混合编程方法是Mathworks公司推荐的使 用方法。该方法主要通过使用MATLAB提供的 Combuilder工具实现。COM(Component Object Module)是一种通用的对象接口,编程语言只要按照接 口标准实现功能,就可以使用其它开发语言调用它。 MATLAB 推出的Combuilder可以将MATLAB编写的程 序制作成com组件,供其他编程语言调用。1.2.4 使用Matcom方法Matcom是第三方控件,原本属于Mathtool公司,后来由 Mat
6、hworks公司收购。使用该工具可以将MATLAB的m 脚本文件和m函数转化成为功能相同的C/C+文件。通常 在m文件不大或者不需要进行三维绘图的情况下使用。1.2.5 基于ActiveX控件的方法ActiveX组件是指符合特定规范的一些可执行的代码或一个 程序。例如,可执行文件(.EXE)、动态连链接库文件 (.DLL)或OCX控件(.OCX)等都可以作为ActiveX组 件存在。其最大的优势就是可重用性好。通过使用 ActiveX技术,开发人员就能够将可复用的软件组装到应 用程序或者服务程序中,然后嵌入到程序或者网页中,随 网页传送到客户的浏览器上,并在客户端执行。1.2.6 使用MATL
7、AB Add-in方法对于C/C+和MATLAB混合编程而言,该方法是最方便的方 法之一。MATLAB 6.0以后版本对其编译器(Compiler) 作了较大的改进,可以支持更多的数据类型,提供更强的 优化功能,更重要的是提供了一个MATLAB Add-in,可 以用它实现一个MATLAB和VC+直接集成的途径。1.3 VC+和MATLAB混合编程环境要求由于目前MATLAB应用广泛的版本是运行在Windows系统 平台上。VC+也是Windows操作系统上的主要开发工具 之一,所以本书讨论的VC+和MATLAB混合编程是指在 Windows操作系统上的混合编程。1.4 VC+的安装和配置为了
8、使用VC+进行程序开发,首先必须正确安装VC+,并 进行正确的配置。本节主要介绍VC+的安装过程和需要 正确配置的问题。1.4.1 Visual C+ 6.0的安装Visual C+ 6.0是Visual C+开发工具中最经典的版本。目 前,很多设计到Visual C+开发的教程使用该版本。从 Visual C+ 6.0以后,微软没有再出单独版本的Visual C+版本,而是直接集成在Visual Studio中,主要版本包 括Visual C+ 2005、Visual C+ 2008和Visual C+ 2010等。1.4.2 VC+的配置VC+的工程设置是应用程序调试的基础。只有设置正确的
9、 配置,创建的应用程序才能正常运行,输出正确的结果。 具体的配置包括:预处理宏、工作目录和控制台程序运行 参数、添加链接库文件、添加附加头文件、附加DLL调 试等项目。1.5 MATLAB的安装和配置本节主要介绍MATLAB的安装过程和进行混合编程需要进 行的配置工作。配置工作包括编译器的确定,编译环境的 配置和安装MATLAB Component Runtime环境等问题。1.5.1 MATLAB的安装MATLAB可以在各种Windows系统上运行。MATLAB最新 版本通常兼容了早期版本能。所以,一般在计算机性能允 许的前提下,通常选择安装最新的MATLAB版本。本节 以MATLAB的最新
10、版本MATLAB 7.10为例,讲解 MATLAB在Windows XP操作系统中的安装过程。需要注 意的是,为了保证正常安装,MATLAB的安装目录必须 是英文的。1.5.2 MATLAB的配置为了能够使用MATLAB和VC+进行混合编程,需要使用 MATLAB的Complier将*.m函数文件编译为动态链接库 DLL,必须对MATLAB的环境做出相应的设置。1.6 安装和配置的常见问题在安装VC+和MATLAB过程中,由于版本和系统的原因, 可能会出现无法安装,安装后无法对程序进行正常编译和 运行的问题,尤其对于新手问题尤为突出,本节将给出 VC+的安装和配置问题,MATLAB的安装和配置问题, 力图帮助读者解决安装和配置中出现的问题。1.6.1 VC+的安装和配置问题VC+的安装问题大都出现在企业版时会出现,初次安装 VC+时,最好安装个人版。另外,由于还有英文版和中 文版的,建议安装英文版的VC+,因为汉化的中文版本 VC+,通常会有些问题,最好安装在C盘的默认目录下 。1.6.2 MATLAB的安装和配置问题MATLAB的安装和配置问题包括输入注册码后无法继续安 装,安装过程中出现红色叉无法继续安装,提示 exception calling main错误,信息处理器为AMD的机器安 装后无法正常使用,缺少.NET Framework 3.5支持错误 等问题。