Matlab与CC语言混合编程的几种方法.pdf
《Matlab与CC语言混合编程的几种方法.pdf》由会员分享,可在线阅读,更多相关《Matlab与CC语言混合编程的几种方法.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微型机与应用!#年第!期(接上页)!结束语在!#$%!&数据库中,对象泛指库中所有组 成 部分。(!通过对象属性值的存取或调用对象的方法,可以对所有对象进行管理。块表是一个集合对象)(*$+,-.,调用其!/方法可以定义0个块。调用1$/2*345+2对象)也为块表的0条记录.的67-28#(*$+,方法可生成0个块引用。标题栏和明细表程序的核心是直接定义块和生成块引用。(!工程文件中定义宏与!#$%!&运行于相同地址空间,速度快。与!&39%和!:;)%7/$?-应用程序界面。明细表编辑对话框中表格控件数据行的插入、删除、添加功能可通过编程来模拟。)收稿日期:AAA9AB9B.15#*5C是
2、当今世界上使用最为广泛的数学软件,它具有相当强大的矩阵运算、数据处理、系统分析、图形显示、符号运算功能,是一个完整的数学平台。为了便于使用,研发了为各个领域专门使用的工具箱,其中包含了当今流行的新算法,如:模糊控制和神经元网络控制算法等。这些工具箱的出现更加促进了15#*5C的流行。15#*5C附有功能强大的工具箱,它的函数性能是非常完善和稳定的,但是15#*5C主要是面向分析运算而不是综合型的开发。于是人们便利用15#*5C和%各自的优势,在各个领域开发高质量的软件。虽然很多人都在尝试15#*5C和%的无缝接口,但是到目前为止许多接 口 仍 然 不 尽 完 善,尤 其 是 实 现 在%中利用
3、15#*5C的工具箱去完成复杂的分析和运算时更为不便。如果用户所用的15#*5C的运算函数没有涉及到15#D*5C的内部类,那么在%中调用该函数就比较简单。反之,在%中调用该运算函数就比较复杂。由于15#*5C工具箱的大部分函数涉及到了15#*5C的内部类,所以若要在%的开发平台上使用15#*5C的工具箱是要付出代价的,如速度上不去或不能完全脱离15#*5C环境等。#$%&$环境简介15#*5C强大的功能只能在它所提供的平台上才能实现,即必须在安装有15#*5C系统的机器上使用EF文件。这样就给工程计算带来了很大不便,特别是在15#*5C中使用的是按行解释方式执行代码,大大地限制了代码执行速度
4、。能否开发一个15#*5C与其它高级语言的接口,把15#*5C的强大功能融入各种应用程序中,并且通过高级语言编译器编译为二进制代码,从而有效地提高执行速度,是很多应用软件编程人员想要解决的问题。为了解决和%的接口问题,15#*5CGE0版本提供了自带的%28,同时15#H=$8,-公司也为15#*5C开发了EF文件高效解释和调试的集成开发环境15#+$F。经过近二年的发展,15#*5CGEI中的%编译器1%版本已经为EA,而15#+$F最新版本为JEG。(#$%&$与)*+或*的混合编程15#*5C提供了%K%数学库,其中的%数学库功能很强,使用它可以用类似15#*5C的语法编写%程序,十分方
5、便。虽然速度上仍然比普通的%K%程序慢,但由此换来的高开发效率和可靠性往往是值得的。在%的 集 成 开 发 环 境 里 使 用15#*5C,可 以 利 用15#*5C的数学库将15#*5C的程序编译为%编译器所能识别的源代码嵌入%的环境。熟悉15#*5C%或%数学库的人也可用%或%的语法 在%的环境里直接编写程序。不过,15#*5C的数学库在开发时似乎倾向于编译独立的可执行程序,把%只作为一个编译和连接的工具,而没有过多地考虑在%的集成环境下进行开发。这给混合编程带来了很大的不便。经过多次实践,总结出下列几种接口方法。调试环境15#*5C 与%K%语言混合编程的几种方法内蒙古工业大学计算中心)
6、A0AAL.摘要:对15#*5C与%K%语言混合编程的几种方法进行了介绍和比较。关键词:15#*5C软件%K%语言混合编程!7 万方数据微型机与应用!#年第!期为!#$%&(和)*+,-开发平台,并且假定!#$%安装在./01#$%023#245065.$782目录下。!#将$%&%(的代码编译为)*编译器能识别的代码用!#$%的内部编译器!*将!#$%工具箱中的函数转换成*编译器或*+编译器所能识别的源代码,即将1文件转换成.99文件和它的头文件:;文件$?52程序,使其独立运行。下面介绍将!*生成的*+程序嵌入到)*时,应对)*编译环境所作的处理。:CD2#65E=C*F*+!*#2E?4
7、G/A4294?.2=?4A4294?.2=?4 82H656#6?5=:添加:!D)*,IJ!A*,!DKILM*#2E?4G/A42.?196$28 N2824=选择:O7#?1#6.7=2?H 942.?196$28;2824=P;4?7E;2824/=#8H3;:Q设置项目连接选项首先要把!#$%的几个函数定义文件:R82H生成相应的库文件:R$6%CD2#65E=CT65U*#2E?4G/I597#S%B2.#F$6%44G 1?87$2=/添加:$6%1#91$6%$6%11H6$2$6%$6%1.$6%$6%V1#$%$6%$6%13$6%$6%1#$6%:(CS9#6?5=CM
8、642.#?462=I5.$782 H6$2=添加:./01#$%023#245065.$782./01#$%023#245065.$7820.99T6%44G H6$2=添加:./01#$%023#2450$6%./01#$%023#245065.$782:W#T*99 Z75.#6?5L12得到:Z75.#6?5L12;99,Z75.#6?5L12.99将Z75.#6?5L12.99加入项目,不做任何改动。最后进行编译就可以了。!将$%&%(的函数编译为可独立执行的动态链接库用!#.?1:!IM)O或!*将1#$%工 具 箱 中 的函数编译为MTT文件,然后放在工程项目的同一个路径下或系统
9、下。这样一来,工程项目就可以直接调用该函数。这种方法的好处是!#$%所编的函数不需要和)*的代码一起编译。适合做一些自定义的函数来扩展)*所编的应用程序的功能。对于编译为MTT文件的方法,在!#.?1环境里的文件菜单直接给出了编译为动态链接库的菜单项。只要点击该命令,系统会自动给出个对话框,要求给出要编译的!#.?1文件:或!#$%文件3 Z75.#6?5 L12:假定所要编译的!#$%或!#.?1函数的名称为Z75.#6?5L12,该命令会启动!*编译器,将函数自动编译为动态链接库函数。!+在)*中直接书写类$%&%(和$%&,-.语言:在)*的程序里直接书写类!#.?1语句按照1#.?1的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab CC 语言 混合 编程 方法
限制150内