當前位置:
首頁 > 最新 > Fortran For Fun 之編譯工具 FoBis

Fortran For Fun 之編譯工具 FoBis

Linux系統下沒有一個好用的 Fortran 語言IDE編程工具,通常在編輯器中編輯代碼,然後在 shell 中使用 gfortran 或 ifort 編譯,對於模塊很多的工程,代碼之間的依賴關係比較複雜,編譯比較麻煩,需要使用 make 工具來進行編譯。但Makefile編寫也比較麻煩,通常使用其它工具來生成Makefile, 常用的工具包括cmake和FoBis。


FoBis

FoBis是專門為 fortran 寫的編譯系統,使用非常簡單方便,基本上和 IDE 的 F5 差不多。FoBis 編譯系統需要一個配置文件fobos,其中定義一些編譯選項以及外部依賴庫等,如果沒有外部依賴庫,所有的項目的配置基本上都是不變的,所以只用在每個項目中複製一個fobos就可以編譯這個項目了。


我通常新建一個項目的目錄結構如下,src/ 文件中放程序源碼,app/ 中放執行碼。fobos 為 FoBis 的配置文件,readme.md 為項目介紹文檔,build.sh 為編譯腳本,每次只需要執行./build.sh 就可以編譯整個項目。


FoBis的配置文件也比較簡單,通常直接使用默認情況就行,偶爾需要改的地方只有preproc, mpi, include, libs, ext_libs 等,基本上和 IDE 中需要修改的地方一樣。而且可以定義不同的 modes 以便可以使用不同的編譯器進行編譯。以下是我一個項目的FoBis配置文件fobos。

執行 FoBiS.py build -mode tests-gnu 就可以使用 gfortran 編譯整個項目,可以將該命令放在 buld.sh 中,簡化編譯命令。還可以通過FoBiS.py build -m Makefile 生成Makefile,然後用make來進行編譯。

FoBis 不用寫任何依賴關係文件,不用寫Cmakelist.txt,FoBis會自動尋找項目中的所有代碼,並確定其中的依賴關係,也可以定義不用編譯的文件夾,使用靈活。

FoBis可以同時編譯n個主程序,項目中可以有很多個program,編譯後的執行程序名稱與代碼文件名稱一致。

FoBis只會編譯修改過的代碼,速度快。在不同平台,不同編譯器下只需要寫一個配置文件。可以直接生成靜態庫,動態庫。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FCFC 的精彩文章:

TAG:FCFC |