之前提到过,Windows下面的Fortran发行版,多半是整合了IDE的商业版,价格不菲。而Linux下则是完全不同的氛围,常用的编译器清一色都是免费,甚至开源。缺点只是:没有集成统一的IDE,在可视化、在编辑调试方面似乎不那么方便。——但事情不是这样的。
Linux下有伟大的开源IDE,Eclipse可以替代VS;更有其他更自由更高效的解决方案,——只要你愿意花时间学习。
当然,爱怎么折腾都全凭个人喜好。实际上,我实验室里面的师兄们都是简简单单随便一个文本编辑器+编译器就了解,纯手工维护。这里那么多方案,只是提供更多选择的可能性,让大家知道,离开Windows来到linux其实是一种解放。
我自己用的Linux发行版是32位的Ubuntu10.04,下面也主要以之为例。以下提到的所有软件,在不同发行版中照样可用,大家不必担心。
1)两种解决方案:IDE or DIY
先说IDE,大名鼎鼎的跨平台、自由、集成开发环境Eclipse就有专为Fortran设计的插件Photran,支持所有常见的Fortran编译器,如ifort、gfortran、g95等等。虽说一时间还比不上Windows下的VS,但已经相距不远了。(注,不是说强大的Eclipse比不上VS,而是身为插件的Photran还不够成熟,Photran+ifort还比不上IVF)。关于Eclipse和Photran可以自行Google之。下载也容易,Ubuntu的软件中心就有,虽然版本要旧一点,但胜在方便。
关于IDE,我一师弟提到了Code::Blocks下也有Fortran插件,dongyuanxun在回复中也说:“Fortran的IDE可以使用跨平台的Code::Blocks,代码完成,函数跳转都挺不错。”下面是百度百科的资料:
“Code::Blocks 是一个开放源码的全功能的跨平台C/C++集成开发环境. Code::Blocks是开放源码软件。Code::Blocks由纯粹的C++语言开发完成,它使用了蓍名的图形界面库wxWidgets(2.6.2 unicode)版。对于追求完美的C++程序员,再也不必忍受Eclipse的缓慢,再也不必忍受VS.NET的庞大和高昂的价格。”
我自己是装了Eclipse+Photran的,但一次都没用过,因为Linux下有更强大的方案。继承自Unix,Linux和Unix一样,都有一种软件开发的美学:一个软件负责一种功能,把一种功能开发到极致,然后让不同的最好的软件互相协作。开发Fortran程序也可以做得到,把IDE拆分为:编辑器 + 项目管理维护软件 + 编译器,我个人所推崇的方案是:GNU/Emacs + GNU Make + Complier(如ifort)
2)Code Editor
Emacs与Vim并称编辑器中的神器,Vim的美誉是“编辑器之神“,而Emacs的美誉则是“神的编辑器“,我个人更喜欢Emacs的自由及无限可定制性,其他朋友凭自己喜欢也可以选用Vim。唯一需要注意的是,这两件神器是需要花时间学,花更多时间去磨合的,虽然学会之后能大幅提高工作效率,但学习的过程是决计少不了。
Emacs自带Fortran-Mode和F90-Mode,对fixed和free两种fortran书写格式都提供语法高亮,为fortran程序的编写和调试提供了非常周到的环境。而且还有大量的插件可供下载,如语法检查及自动补全,与编译器的整合等等,只要愿意花心思,完全可以武装到牙齿。我目前正在学习中,最近的两篇文章就是用Emacs写就的。
关于Emacs的入门材料,网上有很多,但其实打开Emacs,按照她自带的中文Tutorial试一遍就知道个大概了。但要发挥Emacs的无比威力,得进一步深化学习;中文的实体书却不见售,我是在淘宝上买了本复印的《学习GNU Emacs 第二版》,这本书早就绝版,想买都买不到。
下载同样可以到Ubuntu的软件中心搜索,最新版是23.3,Ubuntu收录的是23.1,区别不大。
如果不想折腾,可以用自由桌面自带的文本编辑器,如Ubuntu上就自动有gedit,也支持语法高亮,一般人而言已经够用了。
3)GNU Make
关于make这个工具,三言两语很难说得清,大家可以参考wiki。