欢迎来到天天文库
浏览记录
ID:42604859
大小:50.31 KB
页数:17页
时间:2019-09-18
《5-5 VB与Fortran的混合编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、5-5VB与Fortran的混合编程汪润生(07级硕士研究生)一、实验简介不同的计算机语言各有其应用目的,在某个相关领域,一种语言可能比较有优势,然而在其他领域,则会显出劣势来。在允许的条件下,将不同的语言结合起来,各取其长处,以弥补单一预言的缺陷,这是计算机语言混合编程的原因。众所周知,Fortran语言在计算方面见长,很多人用他做科学计算的工具;然而其面向对象性和人机交互性很差。VB是一种有名的面向对象编程语言,被人们广泛用来设计操做界面、窗体应用程序、网络应用程序等。而它却不擅长做计算。一些应用中需要结合这两种语言的长处:既要人机交互性好,又要运算速度
2、快,就需要将这两种语言结合起来,通过混合编程的方法实现:用Fortran设计计算部分的核心模块,而用VB设计人机交互界面。我们通过本次实验来体验和实现这两种语言的混合编程。二、实验目的1.掌握VB和Fortran混合编程的方法。2.掌握Fortran中动态链接库的创建方法。3.掌握VB中对动态链接库的调用方法。三、试验条件在这个实验中,我们需要在PC机上安装VB设计软件和Fortran编译软件。建议安装MicrosoftVisualBasic2005和CompaqVisualFortran6.5。四、实验原理一般人们熟知的实现VB与Fortran混合编程的方
3、法主要有两种,即VB中直接调用可执行文件(利用Shell函数直接调用Fortran编译出来的可执行文件)和利用动态链接库DLL(DynamicLinkLibrary)与Fortran混合编程。第一种方法比较简单,将Fortran源程序编译为可执行文件(扩展名为.exe)之后在VB环境下用shell()函数调用即可。VB中shell()函数的语法如下:PublicFunctionShell(_ByValPathNameAsString,_OptionalByValStyleAsAppWinStyle=AppWinStyle.MinimizedFocus,_Op
4、tionalByValWaitAsBoolean=False,_17OptionalByValTimeoutAsInteger=-1_)AsIntegershell()函数的参数中第一项为可执行文件名,如可执行文件不在当前路径下,文件名应包含完整的驱动器和路径名。比如在C盘根目录下由一个名为test.exe的可执行文件,则其pathname=”C:/test.exe”。后面三个参数为可选参数,可根据实际需要选取和设置。因此,对这个可执行文件的调用可以通过下面一条简单的代码来实现:shell(”C:/test.exe”)在整个运行程序过程中,Fortran应用
5、程序始终在后台运行,VB和Fortran之间的所有数据交换都是通过磁盘文件进行。这种方法适合于计算量较大而交互操作不多的时候。但是,Shell函数是以异步方式执行的,这种执行方式使VB程序不能等待Fortran程序计算结束,而是继续执行后续的程序,从而容易使最终结果出错。另一种方法是将Fortran源程序编译为动态链接库(扩展名为.dll),然后在VB环境下调用动态链接库里的函数和过程来完成各项计算任务。虽然没有第一种方法操作简单,但是调用动态链接库的方法更为灵活和实用。下面会尽量详细的介绍这种方法。四、Fortran中动态链接库(.dll文件)的创建出于简
6、单、实用的目的,我们先比较简略的介绍在VisualFortran6.5环境下动态链接库的创建步骤和注意事项,当然这些步骤和方法具有一定的通用性。我们在这里列出一些必要的注意事项,但不做详细的说明,因为我们会在后面做出尽量详细的解释和补充,如果有需要可以查阅这些内容。当然这不是必须的,这里所列出的内容已经足够用于创建大部分在VB环境中调用的动态链接库了。下面就做这些介绍。在CompaqVisualFortran6.5中创建“.Dll”文件的步骤如下:1)创建dll项目(Project)跟一般的Fortran项目相似,首先要创建一个dll项目,具体步骤如下:点击
7、File——New,在弹出的new对话框中选择Projects项下的DynamicLinkLibrary,在右侧ProjectName下面的文本框中输入项目名称,在Location下的文本框中选好路径之后点击Ok,这样我们就创建了一个空的dll项目文件。2)在dll项目中添加文件在刚才创建的dll项目中添加一个空文件,这跟普通的Fortran项目中添加文件的方法一样。点击file——new,在弹出的new对话框中选择Files项,在列表框中选择文件类型(单17击选中即可),一般选择FortranFixedformatSourceFiles(固定格式源文件)或
8、FortranFreeformatSourceFil
此文档下载收益归作者所有