马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
安装的时候输入License时输入201111,安装后把源文件中的Crack目录下的License.dat复制到IMSL的安装目录(默认是C:\\Program Files\VNI)下的License目录下。然后用记事本打开License,另存为License.lic,保存在同样的目录下。
配置环境:
Windows 7 Professional
Microsoft Visual Studio 2008 Professional English
Intel.Visual.Fortran.Compiler.Professional.v11.1.060
IMSL Fortran Numerical Library Version 6.0
IMSL在IVF中的安装和应用 (Windows系统)
-----------------------------------------------------
1. IMSL在IVF中的安装
2. IMSL在IVF中的调用
3. 其它程序库的调用
-----------------------------------------------------
1. IMSL在IVF中的安装
1) 如果是IVF pro版本自带的IMSL,直接安装就OK.可以直接阅读第2部分。
2) 如果是手动安装,IVF与IMSL版本不同,要注意以下问题
a) 首先,安装IMSL到缺省目录 (不同的版本,目录可能不同)
例如,IMSL6.0的安装路径是C:\Program Files\VNI\imsl\fnl600
b)如果是在IDE环境下调用IMSL,那么需要首先设置IMSL在IVF中
的搜索路径,其设置方法为:
设置步骤:
(1) 打开 Microsoft Visual Studio 2008 ;
(2) 打开菜单 Tools|options...
(3) 选择左侧的 ”Intel(R) Fortran“ ,再选”Gerneral“或是”compiler“,
然后在右侧找到 "Project Directories"或是“compiler Selection”.
然后在下面你可以看到 "Libraries" 和 "Includes".
点击右侧的 "..." 在Includes打开窗口中输入IMSL的include搜索路径,
在Libraries打开的窗口中输入IMSL的lib搜索路径
对于IMSL6.0,其include路径为:
C:\Program Files\VNI\imsl\fnl600\IA32\include\dll
C:\Program Files\VNI\imsl\fnl600\IA32\include\static
其lib路径是:
C:\Program Files\VNI\imsl\fnl600\IA32\lib
如果是其他版本,也请查找类似目录。
一般说,include某个目录下应该有很多*.mod文件,在lib的某个目录下有很多
*.lib或*.dll文件,这就是正确的路径所在。
(4)选择“ok”,完成设置。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
2. IMSL在IVF中的调用
1)找到IMSL中合适的函数或子程序(在开始菜单中,安装IMSL的目录下会找到一个pdf文件,里面是IMSL的说明文件,包括函数和子程序的详细信息,并有例子)
2)在自己的程序中调用IMSL. 首先在IVF的帮助文档中“index”选项卡下输入IMSL,就可以看到
Using from the Command Line
Using from IDE
这两项主要内容,请仔细阅读这个部分。一般情况下,调用IMSL需要注意两个地方:
a) 加入 INCLUDE 'link_fnl_static.h' 或是类似的语句在你的主程序中,不同的库函数选用不同的*.h文件
b) 加入合适的use 语句,例如
use IMSL
use lin_sol_gen_int
use rand_gen_int
use error_option_packet
等,你可以在IMSL的帮助文档中看到如何应用合适的use 语句
c) 在主程序中call IMSL中的functions或是subroutines
d) 编译,链接,得到执行程序。
3)在命令行中调用和编译:
首先在command窗口中执行ifortvars这个命令,如果不能执行,请直接从开始菜单中的IVF目录下面直接运行这个程序(Build Environment for applications running on IA-32),
或是将此文件所在的目录写入path环境变量,使其可以执行。
然后用ifort命令对你的主程序进行编译即可。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
3. 其它程序库的调用
学会了IMSL的调用,其实其他的程序库如CXML,LAPACK, BLAS, WFL等在IVF下的调用都是类似过程,即主要要设置好include和lib的路径,使得编译器
可以找到需要包含的mod文件和链接的lib文件,这个过程大同小异。
----------------------------------------------------
测试算例:
- ! ================ Program start ==============
- program fnl
- ! Include the necessary header file:
- ! For the dynamic library:
- INCLUDE 'link_fnl_shared.h'
- ! For the static library:
- !INCLUDE 'link_fnl_static.h'
- !!DEC$ OBJCOMMENT lib:"libguide.lib"
- ! Declare which IMSL functions will be used
- USE LSARG_INT
- USE WRRRN_INT
- ! Declare variables
- PARAMETER (LDA=3, N=3)
- REAL A(LDA,LDA), B(N), X(N)
- !
- ! Set values for A and B
- ! A = (33.0 16.0 72.0)
- ! (-24.0 -10.0 -57.0)
- ! (18.0 -11.0 7.0)
- ! B = (129.0 -96.0 8.5)
- !
- DATA A/33.0, -24.0, 18.0, 16.0, -10.0, -11.0, 72.0, -57.0, 7.0/
- DATA B/129.0, -96.0, 8.5/
- !
- ! The main IMSL function call to solve for x in Ax=B.
- ! This is the floating point version, to use double-precision, call DLSARG.
- !
- CALL LSARG(A,B,X)
- !
- ! Now print the solution x using WRRRN, a printing utility
- !
- CALL WRRRN('X',X,1,N,1)
- Read(*,*)
- END PROGRAM fnl
- !================ Program End ==============
复制代码 |