| 5 | 1/1 | 返回列表 |
| 查看: 2158 | 回復(fù): 4 | |||
1357246鐵桿木蟲 (職業(yè)作家)
壯士
|
[交流]
【轉(zhuǎn)帖】IMSL在IVF中的安裝和應(yīng)用 (Windows系統(tǒng))【搜索無重復(fù)】 已有3人參與
|
|
IMSL在IVF中的安裝和應(yīng)用 (Windows系統(tǒng)) ----------------------------------------------------- 1. IMSL在IVF中的安裝 2. IMSL在IVF中的調(diào)用 3. 其它程序庫的調(diào)用 ----------------------------------------------------- 1. IMSL在IVF中的安裝 1) 如果是IVF pro版本自帶的IMSL,直接安裝就OK.可以直接閱讀第2部分。 2) 如果是手動(dòng)安裝,IVF與IMSL版本不同,要注意以下問題 a) 首先,安裝IMSL到缺省目錄 (不同的版本,目錄可能不同) 例如,IMSL5.0的安裝路徑是C:\Program Files\VNI\CTT6.0\ b)如果是在IDE環(huán)境下調(diào)用IMSL,那么需要首先設(shè)置IMSL在IVF中 的搜索路徑,其設(shè)置方法為: 設(shè)置步驟: (1) 打開IVF9.*/10.* in Visual studio .net 2003/2005 IDE; (2) 打開菜單 Tools|options... (3) 選擇左側(cè)的 ”Intel(R) Fortran“ ,再選”Gerneral“或是”compiler“, 然后在右側(cè)找到 "Project Directories"或是“compiler Selection”. 然后在下面你可以看到 "Libraries" 和 "Includes". 點(diǎn)擊右側(cè)的 "..." 在Includes打開窗口中輸入IMSL的include搜索路徑, 在Libraries打開的窗口中輸入IMSL的lib搜索路徑 對(duì)于IMSL5.0,其include路徑為: C:\Program Files\VNI\CTT6.0\include\IA32 C:\Program Files\VNI\CTT6.0\include\IA32_s 其lib路徑是: C:\Program Files\VNI\CTT6.0\lib\IA32 如果是其他版本,也請(qǐng)查找類似目錄。在include和lib目錄下的某個(gè)目錄, 一般說,include某個(gè)目錄下應(yīng)該有很多*.mod文件,在lib的某個(gè)目錄下有很多 *.lib或*.dll文件,這就是正確的路徑所在。 (4)選擇“ok”,完成設(shè)置。 c)如果需要在命令行的方式下調(diào)用IMSL,且IVF的版本與IMSL的版本不一致, 則需要手動(dòng)進(jìn)行如下修改: (1) 首先找到ifortvars這個(gè)IVF的設(shè)置文件,例如: C:\Program Files\Intel\Compiler\Fortran\10.1.011\IA32\Bin\ifortvars.bat (2) 用文本編輯器打開這個(gè)文件,你會(huì)找到類似的一行: if exist "%FNL_DIR%\IA32\bin\fnlsetup.bat" call "%FNL_DIR%\IA32\bin\fnlsetup.bat" 這個(gè)句子的目的是查找IMSL的目錄下是否有fnlsetup.bat這個(gè)文件,如果有的話,就執(zhí)行它。 當(dāng)然,不同的IVF版本,這一行可能有差別,我這里給出的是10.1.011版本的內(nèi)容。 如果你不是對(duì)應(yīng)的IMSL版本,可能不存在fnlsetup.bat這個(gè)文件,例如在IMSL5.0的安裝目錄下存在 C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat 這個(gè)文件。那么你就需要更改ifortvars.bat 里面的內(nèi)容,從而調(diào)用正確的bat文件。例如,IMSL5.0在IVF10.1.011下,要在ifortvars.bat文件中 加入下面一行 if exist "C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat" call "C:\Program Files\VNI\CTT6.0\ctt\bin\cttsetup.bat " IA32 這樣就可以正確在命令行方式下調(diào)用IMSL了。 --------------------------------------------------------------------------------------------------------------------------------------------------------------- 2. IMSL在IVF中的調(diào)用 1)找到IMSL中合適的函數(shù)或子程序(在開始菜單中,安裝IMSL的目錄下會(huì)找到一個(gè)pdf文件,里面是IMSL的說明文件,包括函數(shù)和子程序的 詳細(xì)信息,并有例子) 2)在自己的程序中調(diào)用IMSL. 首先在IVF的幫助文檔中“index”選項(xiàng)卡下輸入IMSL,就可以看到 Using from the Command Line Using from IDE 這兩項(xiàng)主要內(nèi)容,請(qǐng)仔細(xì)閱讀這個(gè)部分。一般情況下,調(diào)用IMSL需要注意兩個(gè)地方: a) 加入 INCLUDE 'link_fnl_static.h' 或是類似的語句在你的主程序中,不同的庫函數(shù)選用不同的*.h文件 b) 加入合適的use 語句,例如 use IMSL use lin_sol_gen_int use rand_gen_int use error_option_packet 等,你可以在IMSL的幫助文檔中看到如何應(yīng)用合適的use 語句 c) 在主程序中call IMSL中的functions或是subroutines d) 編譯,鏈接,得到執(zhí)行程序。 3)在命令行中調(diào)用和編譯: 首先在command窗口中執(zhí)行ifortvars這個(gè)命令,如果不能執(zhí)行,請(qǐng)直接從開始菜單中的IVF目錄下面直接運(yùn)行這個(gè)程序(Build Environment for applications running on IA-32), 或是將此文件所在的目錄寫入path環(huán)境變量,使其可以執(zhí)行。 然后用ifort命令對(duì)你的主程序進(jìn)行編譯即可。 --------------------------------------------------------------------------------------------------------------------------------------------------------------- 3. 其它程序庫的調(diào)用 學(xué)會(huì)了IMSL的調(diào)用,其實(shí)其他的程序庫如CXML,LAPACK, BLAS, WFL等在IVF下的調(diào)用都是類似過程,即主要要設(shè)置好include和lib的路徑,使得編譯器 可以找到需要包含的mod文件和鏈接的lib文件,這個(gè)過程大同小異。 ----------------------------------------------------- Good Luck! Addison 2008.01.05 注意:上述內(nèi)容可以自由轉(zhuǎn)載,請(qǐng)保持信息完整,并不做任何修改。 Qusetions and Suggestions: addison0220_cn .AT. sina.com |

銅蟲 (小有名氣)

銅蟲 (小有名氣)

木蟲 (小有名氣)
新蟲 (小有名氣)
| 5 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|