Fortran⼊门:Windows平台的Fortran编译器安装和使⽤
因为课程需要,今年开始学习FORTRAN语⾔。之前学校的计算概论⽤的是C,后来⼜学了C++和Python作为⾯向对象的⼯具,数值计算⽅⾯主要通过学校的许可证⽤的MATLAB。因为专业侧重数值模拟和反演问题,对于FORTRAN这⼀门上古的数值计算语⾔早有⽿闻,在学习Scientific Computing的时候也经常讲到⼀些原本是基于FORTRAN优化的⼦程序和底层设计模块。上⽹查了⼀下,FORTRAN的社区⾮常少,⽽且可能是因为使⽤者都已经是富有经验的程序设计者,⾃学⼊门的新⼿不多,很多地⽅还是需要⾃⼰摸索,就决定索性在博客上记录⼀下摸索的过程。
FORTRAN,原意为Formula Translation(公式翻译器),是出现很早的⼀门⾼级语⾔。FORTRAN的主要⾯向科学计算、数值计算,虽然在FORTRAN-2003版本中逐渐引⼊了更加丰富的⾯向对象(Object Oriented)设计思维,但是其主要的功能仍然是数值计算领域;某种意义上,使⽤FORTRAN的⼈⼀般不需要过于复杂的⾯向对象策略,需要使⽤复杂完整的⾯向对象策略的⼈也并不会选择FORTRAN。最近还发现⾮常⾟酸的⼀点,CNBlogs上的代码插⼊不⽀持Fortran的语法⾼亮,也没有到⽀持的插件。
⼀. FORTRAN 编译器的安装
查了⼀下,⽬前相对常见的Fortran编译器版本是Fortran77或者Fortran90/95,进⼊新世纪的修正版本Fortran2003反⽽⽤的⽐较少。流⾏的免费FORTRAN编译器实现⽅案包括GCC的GFortran,Intel的Intel
Fortran Compiler等。我这⾥使⽤的是G95,是GFortran对应Fortran95的⼀款编译器。Windows系统上如果已经安装了MinGW体系(如果你使⽤过gcc的C语⾔或者C++编译器,⼀般都已经装了),那么⼀个.exe ⽂件就可以帮忙搞定安装G95的全部操作!⾮常⽅便!
g95 --version
然后cmd会返回⼀个G95的版本信息,如下所⽰。⾸先看到这个版本其实已经8年半没有更新过了;此外,G95编译器是开源的,所以“You may redistribute copies of G95 under the terms of the GNU General Public License”。
C:\Users\admin>g95 --version G95
(GCC 4.1.2 (g95 0.93!) Jun 16 2010)
Copyright (C) 2002-2008 Free Software Foundation, Inc.
G95 comes with NO WARRANTY, to the extent permitted by law.
You may redistribute copies of G95
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING
⼆. FORTRAN⽂件的编写的编译
本来,之前⽤C语⾔的时候,Code::Blocks是⼀款相当不错的IDE,⽽且⽀持C,C++和Fortran。不过后来转到C++以后,因为更快的速度,选择了Dev-C++作为写⼩⽂件的IDE,⽽Visual Studio作为写⽐较⼤⽂件的IDE。Fortran的IDE不算很多,就没有再安装,⽬前我⽤Notepad++⽂本编辑器写Fortran⽂档,然后在命令⾏⾥⾯编译运⾏。Notepad++真是神勇,作为⼀款⽂本编辑器各种⾼亮都有。在Notepadd++中编辑如下代码:
PROGRAM hello_world
PRINT *, 'Hello World! Welcome to FORTRAN!'
END
并且将其储存为 hello_world.f90。然后,我们在命令⾏中⽤刚刚下载的g95 compiler编译这个程序。⾸先,进⼊⽂件所在的⽂件夹,键⼊盘符加冒号(如 “D:”)进⼊某个磁盘,键⼊”dir”查看当前⽬录下的⽂件及⽂件夹,键⼊”cd+空格+路径”(如”cd Documents”)进⼊某⼀⽂件夹。使⽤g95,将hello_world.f90编译为可执⾏的对象⽂件hello_world.o:
D:\Personal Documents\Programming\Fortran>g95 hello_world.f90 -o hello_world.o
再使⽤”dir”命令,就可以看到当前⽬录下出现了”hello_world.o”,直接键⼊⽂件名运⾏:
D:\Personal Documents\Programming\Fortran>hello_world.o
Hello World! Welcome to FORTRAN!
新建⼀个计算两浮点数算术平均和⼏何平均的fortran⽂件,存为add_numbers.f90:
PROGRAM add_numbers
REAL :: a, b, av1, av2
PRINT *, 'Input 2 numbers:'
READ (*,*) a, b
av1 = (a + b)/2; av2 = (a*b)**0.5
gnu编译器PRINT *, 'Arithmetic mean: ', av1
PRINT *, 'Geometric mean: ', av2
END
同样编译运⾏:
D:\Personal Documents\Programming\Fortran>add_numbers.o Input 2 numbers:
2.0 8.0
Arithmetic mean: 5.
Geometric mean: 4.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。