宋伟聪,李德春,邱开林,陈德炙,王耀辉
VB与Fortran混合编程的重磁数据处理可视化系统
宋伟聪,李德春,邱开林,陈德炙,王耀辉

利用VB与Fortran混合编程技术,开发了重磁数据处理可视化系统,该系统使用工程化管理,包含地形改正、坐标转换、空间域滤波、频率域滤波等许多常用模块。该系统充分发挥了2种编程语言的优点,不仅利用了Fortran程序资源,还扩展了一些新的功能,在实际应用中效率更高、交互性能更佳。
VB;Fortran;动态链接库;混合编程
VB与Fortran混合编程一般说来有2种方式[1]:一是利用VB的Shell函数来启动Fortran应用程序,由于Shell函数是以异步方式执行的,该执行方式不能等待Fortran程序结束而继续执行后续VB程序,容易使VB得不到最终的数据结果而出错[2];二是通过VB调用Fortran所生成的动态链接库来实现,该方式避免了第1种方式所出现的问题,同时还具有节省内存开支等众多优点。为此,该次编制重磁处理可视化系统选用第2种方式。使用动态链接库需要注意的问题主要是命名约定和参数传递约定,具体可以查询相关资料,在此不再赘述。
以一个计算两个数相加的简单例子介绍一下建立动态链接库的具体步骤,该例子将会输出一个动态链接库供后面的VB程序调用。
首先,启动Fortran Powerstation4.0,新建一个Project Workspace工程,之后选择工程的类型为Dynamic-Link Library,并输入工程的名字:add,然后确定。
其次,新建一个Fortran程序,写入相应的代码后存盘,之后插入到前面所建工程里面去,需要注意的是,将Fortran编写的计算程序编译成动态链接库,必须在Fortran子程序中声明该子程序为外部子程序,其语法为:!……