vb与fortran的混合编程

vb与fortran的混合编程

ID:13979983

大小:55.00 KB

页数:10页

时间:2018-07-25

vb与fortran的混合编程_第1页
vb与fortran的混合编程_第2页
vb与fortran的混合编程_第3页
vb与fortran的混合编程_第4页
vb与fortran的混合编程_第5页
资源描述:

《vb与fortran的混合编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、VB与Fortran的混合编程一、实验目的1.掌握VB和Fortran混合编程的方法。2.掌握Fortran中动态链接库的创建方法。3.掌握VB中对动态链接库的调用方法。二、实验原理一般VB与Fortran混合编程的方法主要有两种,即VB中直接调用可执行文件(利用Shell函数直接调用Fortran编译出来的可执行文件)和利用动态链接库DLL(DynamicLinkLibrary)与Fortran混合编程。第一种方法比较简单,将Fortran源程序编译为可执行文件(扩展名为.exe)之后在VB环境下用shell()函数调用即可。这种方法适合于计

2、算量较大而交互操作不多的时候。但是,Shell函数是以异步方式执行的,这种执行方式使VB程序不能等待Fortran程序计算结束,而是继续执行后续的程序,从而容易使最终结果出错。第二种方法是将Fortran源程序编译为动态链接库(扩展名为.dll),然后在VB环境下调用动态链接库里的函数和过程来完成各项计算任务。虽然没有第一种方法操作简单,但是调用动态链接库的方法更为灵活和实用。三、Fortran中动态链接库(.dll文件)的创建在CompaqVisualFortran6.5中创建“.Dll”文件的步骤如下:1)创建dll项目(Project)跟

3、一般的Fortran项目相似,首先要创建一个dll项目,具体步骤如下:点击File——New,在弹出的new对话框中选择Projects项下的DynamicLinkLibrary,在右侧ProjectName下面的文本框中输入项目名称,在Location下的文本框中选好路径之后点击Ok,这样我们就创建了一个空的dll项目文件。2)在dll项目中添加文件在刚才创建的dll项目中添加一个空文件,这跟普通的Fortran项目中添加文件的方法一样。点击file——new,在弹出的new对话框中选择Files项,在列表框中选择文件类型(单击选中即可),一

4、般选择FortranFixedformatSourceFiles(固定格式源文件)或FortranFreeformatSourceFiles(自由格式源文件),在右边File标签下的文本框中输入源文件名,点击OK,一个空的源文件就建好了,接下来可以在里面编写Fortran源程序了。3)创建子程序(过程)和函数Dll文件是一种特殊的可执行文件,在其源程序中没有主程序,而是一个或多个子程序或函数,我们通过调用这些子程序和函数来完成一些特定的任务。在Dll项目中创建子程序和函数的方法跟一般Fortran项目文件中的没有太大的差别,只需在子程序或函数开

5、始时加入如下一些微软扩展属性编译伪指令即可:!MS$attributesdllexport!MS$attributesalias!MS$attributesvalue!MS$attributesreference例如,如果要编写一个计算双精度实数加法的子程序,子程序名为subplus,输入参数为a和b,输出参数为c,则完整的源程序可以这样写:subroutinesubplus(a,b,c)!MS$attributesdllexport::subplus!MS$attributesalias:'subplus'::subplus!MS$attri

6、butesvalue::a,b!MS$attributesreference::creal(8)::a,b,cc=a+breturnendsubroutinesubplus一般情况下我们将输入参数定义为传递数值方式,而将输出变量定义为传递地址方式。像这样添加一些子程序函数,然后可以将他们编译和生成dll文件(快捷键是F7)。之后在该项目文件目录下的debug文件夹中可以找到这个以项目名称命名的dll文件,我们可以在VB环境中调用它。四、VB2005中对动态链接库的调用VB对动态链接库的调用如同对普通子程序或函数的调用,在调用之前必须先对Dll中

7、的子程序或函数声明。声明格式如下:[Public

8、Private]DeclareSub

9、FunctionNameLib“Libname”[Alias“aliasname”][([arglist])]例如在C盘根目录下有一个名为mathfunction.dll的动态链接库,我们对这个库中名为subplus的子程序的声明如下:PublicDeclareSubsubplusLib"C:mathfunction.dll"(ByValaAsDouble,ByValbAsDouble,ByRefcAsDouble)在声明之后这些函数或过程就可以向普通的函

10、数或过程一样在VB环境下调用了。五、实验内容用Fortran编写一个Dll文件,其中包含计算两个双精度实数加、减、乘、除的过程和函数,而后在VB环境下

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。