fortran編譯
『壹』 如何在命令提示符下編譯fortran
常用的Compaq Visual Fortran或者Intel Fortran都可以用命令行編譯方式。
Compaq用df.exe命令編譯,Intel用ifort命令編譯(如果用集成環境會自動調用),最簡單的方式是「df或ifort fortran源程序名稱」,比如
df a.f90
如果不在編譯程序的路徑下編譯,需要把編譯程序放入搜索路徑,並在編譯時指定頭文件和庫文件的位置。
如果是Compaq的Fortran會有一個DFVARS.BAT的批處理,是為命令行編譯設置環境變數的,Intel的Fortran是ifortvars.bat。
『貳』 linux下fortran編譯鏈接
so文件是動態庫的集合,由f90文件編譯而成,此時f90程序中一般不包含program開頭的主程序,而只包含mole,例如:
將f90源文件編譯為動態庫時,使用命令
此時將生成兩個文件,分別為bisectmod.mod和lib***.so,這兒的***是剛才自定義的名字,而*.mod文件名則是f90文件中mole的名字,是自動生成的,如果一個f90文件中包含N個mole,則會生成N個*.mod和1個lib***.so。so文件作為庫文件,也可以由多個f90文件共同編譯得到,相當於靜態庫中的打包,將多個庫打包到一個里,如下:
動態庫的使用包含兩部分,一是在編譯時,二是在程序運行時。
編譯包含動態庫的主程序時,要同時制定mod文件的路徑和so文件的路徑,如果mod文件、so文件以及主程序文件在同一目錄下,直接指定so文件即可:
但是當使用第三方庫時,通常會分別存放在include和lib文件夾中,此時就要單獨指定路徑了:
第一個參數-I是大寫的i,代表include,第二個l是小寫的L,代表lib的名字,可以省略lib以及後面的.so,第三個-L則是lib.so文件的路徑。
這樣編譯的結果不能運行,因為運行時程序找不到lib***.so文件,最好的辦法是指定LD_LIBRARY_PATH環境變數,當然也可以將lib***.so文件復制到系統的lib文件夾中。
『叄』 如何編譯C/Fortran動態/靜態鏈接庫
首先,傳統的編譯,也就是
靜態編譯
是把
源文件
翻譯成目標文件,這個是一次性過程,也就是你所謂的靜態編譯。
後來的Java和.NET等語言,首先編譯成中間形式,然後運行過程中根據需要編譯成本地代碼(注意這個過程不是一次性的,下次運行重新編譯),這個就是JIT(即時編譯)技術,從即時編譯發展出了動態編譯技術
————————————
(傳統的)編譯完成後,像C/C++、Fortran、匯編等語言,可以把多個目標文件合並到一個
庫文件
中,這個就是靜態庫。比如常說的
庫函數
printf就是libc裡面的函數。
如果有了啟動函數(main),main裡面使用了printf,就可以通過
靜態鏈接
技術,從libc中提取出printf所在的文件加入到可執行文件中,如果printf還需要其它函數,就繼續搜索並加入列表,直到形成一個
閉包
。這個就是靜態鏈接。
可是靜態鏈接有個明顯的缺點,如果每個程序都需要printf,那麼printf這個函數的代碼就會同時存在在每個程序中,這樣也太佔地方了吧。所以發明了動態連接技術,其實有兩種形式。無論哪一種,都是首先記錄下需要調用printf這個函數以及所在的
動態庫
,等到運行的時候再載入動態庫,從動態庫中找到真正的printf去執行。
由於,
動態鏈接
技術需要一些額外的信息,傳統的靜態庫是不具備的,這些額外信息主要是重復載入和卸載時所需要的一些代碼,因此需要
動態鏈接庫
。
『肆』 編譯fortran程序應該選用什麼編輯器
f90 是新的自由格式的fortran代碼 fortran 90
.f 是採用固定格式的fortran代碼fortran 77,有一定的區別,但都能達到相同的目的。
fortran 90是由fortran77發展而來了,增加了一些功能,更加方便。
用哪種編譯器都可以,因為.f是低級版本的fortran文檔,一般高級都支持低級,這個應該沒有問題。
『伍』 Intel Visual Fortran編譯器怎麼編譯fortran 77
一個編譯器的使用,有兩種方式:
1.使用 IDE,你可以用 Visual Studio 或任何其他IDE環境,新建源代碼(或工程),添加代碼,然後點擊IDE界面上的編譯鏈接按鈕。
(具體操作因你選擇的IDE不同而不同)
2.使用命令行。
Intel Visual Fortran 的命令行基本形式是:
ifort 源代碼文件名.for
此外,Intel Visual Fortran 允許 F77,F90,F95全部語法,並部分支持 F2003 語法。
不同的語法規則可以混用,不必指定是 F77,還是 F90 或是其他。
『陸』 編譯fortran程序應該選用什麼編輯器
(1)CodeBlocks和gfortran配合對於不希望裝VS和IVF等龐雜軟體的人適用。
附安裝方法地址:Codeblocks配合 gfortran 作為 Fortran 開發環境的配置方法-Null。另外,如果你需要在Win上建立一個Fortran編譯環境,不藉助現成編譯器的話,則可以將Gcc編譯器按裝在全英文目錄中,然後將.../gcc/bin文件夾路徑加入系統path中,稍微參考.../gcc/manual文件夾中文檔下,即可實現手動編譯。此種方法同時適用於:C,Java,Fortran。
(2)如果想折騰的話,虛擬機裝個linux系統,設置共享目錄,使得虛擬機中可以調取win中文件可以考慮。畢竟linux中編程較win中簡單方便,但是要掌握debug,需要學習額外知識。(取決於所使用的編譯器)
(3)Visual Studio + Intel 編譯器 (有盜版風險)。
『柒』 Fortran編譯
剛接觸Fortran不久,而且需要在Linux系統下運行Fortran。對於單個Fortran文件,直接編譯運行就行,但是如果一個主程序包含了多個子程序,那麼這里就需要注意下了。
1.單個Fortran文件
(exe_name 這個是可以隨便取得;fun.o main.o的順序無所謂;執行這個命令後,會生產一個exe_name的文件,這個就是編譯了的文件)
『捌』 linux如何進入fortran編譯器編輯
方法如下:
