没有合适的资源?快使用搜索试试~ 我知道了~
FORTRAN静态库的生成、维护与调用
2星 需积分: 20 12 下载量 7 浏览量
2010-04-03
18:12:48
上传
评论 1
收藏 101KB PDF 举报
温馨提示
试读
3页
FORTRAN静态库的生成、维护与调用 FORTRAN静态库的生成、维护与调用
资源推荐
资源详情
资源评论
FORTRAN静态库的生成、维护与调用
闫昊明 2006-4-19
一、FORTRAN静态库的生成与维护
FORTRAN 静态库是经过编译的代码块,它与主程序相对独立,可以被主程序调用,是
FORTRAN 工程类型之一. 静态库包含一系列子程序,但不包括主程序. 静态库一般具有 LIB 扩展名
并包含目标代码,且静态库存放在它们特定的目录中. FORTRAN 静态库在组织大型程序和在不同程
序之间共享子程序等方面具有较大的优点,其重要性不言而喻. 当将静态库与主程序联系起来时,
在主程序中调用静态库中的任何子程序将编译到相应的可执行程序. 应用静态库的时候,只有所需
要的子程序才在编译过程中插入到可执行文件(.EXE),这意味着这种可执行文件将比包含所有的子
程序所生成的可执行文件小. 而且,不必担心哪些子程序是需要的,哪些是不需要的,编译器将替
你做出选择. 同时,当更改静态库中的子程序时,相应的应用程序可以不做任何改变,而只需要对
其进行重新的编译链接,即可获得新的结果,这无疑也是方便的.
目前,常用的FORTRAN静态库有很多种,WINDOWS操作系统下的Compaq Visual FORTRAN
version 6.5(简称CVF65)自带的数学统计库IMSL就是一个非常全面的静态库,可以用来解决线性
代数和统计学上的很多经典问题. 此外,在NCAR互联网站有很多有用的FORTRAN子程序(网址:
http://www.scd.ucar.edu/softlib/mathlib.html),其中包括地球物理科学问题、离散和快速Fourier变换、
可分离的椭圆微分方程、插值、Legendre多项式、普通数学问题、本征值问题求解、线性方程求解、
非线性方程求解、常微分方程求解、特殊函数、统计学等常用子程序集等. 这些FORTRAN子程序可
以解决很多基础性的问题,因此有很高的利用价值.
在 WINDOWS 操作系统下,可以用两个命令分别生成静态库. 一个是用‘nmake’命令,它一
般用来编译原来应用在 UNIX 环境下的 FORTRAN 子程序集,在编译过程中要读取 makefile 文件中
的编译命令,类似于在 UNIX 下安装软件. 另一个是用‘lib’命令,它可以在 WINDOWS 环境下编
译任何需要集成为静态库的子程序集.
编译静态库在 DOS 命令行环境下比较方便,以后的命令行都指在此环境下运行. 在编译静态库
前,首先要安装 CVF65,其次要完成要编译的 FORTRAN 子程序(*.f90). 对于 FORTRAN 子程序,
最好用 FORTRAN90 的标准来完成,应该放弃 FORTRAN77 标准。FORTRAN90 是 FORTRAN 语言
从结构化走向面向对象化的重要一步,使 FORTRAN 语言更加接近 C++。在 FORTRAN90 标准中,
对数组的操作既增强了功能又简化了使用,此外自由格式、MODULE、动态数组、指针等的应用大
大丰富了 FORTRAN 语言,使得编程更加轻松。目前,FORTRAN95 和 FORTRAN2000 标准也在应
用,它们与 FORTRAN90 标准比较类似,主要的改进在并行运算方面,因此目前在单机上应用的主
要还是 FORTRAN90. 在 DOS 命令行环境下,进入到 FORTRAN 子程序所在的子目录,然后按下面
两个步骤生成 FORTRAN 静态库.
(1)键入“df *.f90 /c”,回车,可以看到 CVF65 编译器对所有的 FORTRAN 子程序(*.f90)
进行编译,生成*.obj 文件(注意,编译时,/c 中的“c”必须小写).
(2)键入“lib *.obj /out:libname.lib”,回车,可以看到链接生成 libname.lib 静态库.
需要注意的是,每次加入新的子程序或对静态库中的子程序修改以后,都要按上述两个步骤重
新进行编译链接. 生成静态库以后,可用“dumpbin /linkermember libname.lib”来查看静态库中可用
的子程序名称. 也可执行“lib /list libname.lib”来查看静态库中的*.obj 文件.
当然,也可以在 CVF65 集成环境下,生成静态库. 步骤如下:
资源评论
- 流星雨07042011-09-15闫昊明的文章,fortran库的编译与调用,不过网上到处都有。
matlabfunc
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 提取表格20240509-195740.xls
- 高分毕设基于监督学习的web入侵检测系统源码的python实现(95分以上).zip
- MCaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- FM tef6686 linux kernel driver
- 基于Django的家政服务预约和管理系统Python源码(高分项目).zip
- 1ec494e2-d17a-4a76-827d-462434a8d837.zip
- SQL语言教程及项目案例
- 区块链大作业-基于以太坊Geth和web3.js开发的药品溯源系统源码(95分以上).zip
- 2.word表格型简历8套.zip
- 彩虹易支付用户中心美化主题 模版源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功