gfortran编译器 Windows版是一款简单好用的GCC\GNU集合工具,主要适用于程序的编译和管理,支持Fortran 95/2003/2008版本,主要应用于科学和工程计算领域。gfortran针对不同系统开发了不同的版本,欧普小编提供的是gfortran Windows版本,也是比较常用的,需要的朋友可以下载!
gfortran安装教程
本文中使用的是MinGW的gfortran,而操作系统是windows 7(当然XP也行)。现在MinGW提供了一个下载器 ,所以安装新版本的gcc非常简单。
首先需要下载mingw-get-inst。然后就是安装了,最好地址选择默认的,如果要更改,最好不要有空格。在这里,我们因为要用fortran,所以在安装时,应该选择fortran。如下图:
然后就是往下点。最后会出现个黑框,大家不要关了它,它是表示已经开始下载,要耐心的等待。当下完之后,就finish了。
接下来,我们要看看有没有安装成功,所以,请先打开MinGW的安装目录,然后进入bin这个文件夹。如果你知道如何在命令提示符下进入,那么你就可以直接敲命令了。但如果你对命令提示符不是那么了解,那么可以这样子:
先选中上面的地址栏,接着输入:
%comspec%
然后敲回车。(如下图:)
step1:
step2:
好了,这样子就应该出来命令提示符了。
接下来,就是验证gcc及gfortran有没有安装成功了。
在命令提示符下分别输入:
gcc
gfortran
看看是不是有反应呢?
为了看版本号,可以这样:
gcc -v
gfortran -v
大家看看是不是和我的一样呢?
到这里,大概就成功一半了。如果没有上面的提示,那么就是你的gcc没有安装成功了。那么你需要重新下载,可以去MinGW的官网。
如果你上面的成功了,那么你就该看看,环境变量 有没有设置好。
右击我的电脑,点属性,如果是win7,应该是这样子的:
点击旁边的高级系统设置,然后应该出现下面的界面:
到这里,说说XP用户,请你们选择高级 标签,界面应该和上面一样。
然后点击环境变量 ,出来下面的界面:
然后,在系统变量 中,找到变量名为Path的那条,选择编辑,将会出现下面界面:
然后,将你的MInGW的目录添加 进去,注意,是添加,而非把其他删了。然后还有就是分隔要用分号。
比如我的gcc的目录为D:/MinGW/bin,那么就应该像这样:
注意啊,如果你是安装在C盘,那么就输入c:\MinGW\bin。
然后,把这些保存了,这样就可以开始编程了。
为了确保已经成功了,打开命令提示符,输入gfortran,看看有什么反应。
接下来,就是怎么用它了(如果你知道了,可以跳过了)。
比如,你在某个文件夹下,建了个hello.f90的文件(这里就不贴了),那么,在命令提示符下,输入:
gfortran hello.f90 -o first
确保没有错误,接着,就输入
first
看看你的程序是否运行成功。
解释下上面的命令,gfortran是我们的编译器,所以写上,然后就是你的源代码hello.f90,接下来的-o first表示,你生成输出的文件被保存为first.exe(如果不加这条,将会默认生成a.exe)。
使用教程
1、source中未使用外部库链接的,直接执行:
gfortran foo.f/f90 -o foo
./foo
如没有"-o"选项,生成a.out文件,这显然不是我想要的。:D
2、gFortran分两部分:compiler and library。如果gFortran不是标準安装的,编译source后执行,可能找不到lib,这时可以加入"-static"选项:
gfortran -static foo.f/f90 -o foo
gFortran会将库建在所生成程式内部。
3、FortranSource有77和90两种书写格式,gFortran默认根据后缀进行compile。如果想自定义,例如foo.f是用90格式写的,可执行:
gfortran -ffree-form foo.f -o foo
大写的后缀名,gFortran会预执行该程式。
4、多source文件时,先compile不含PROGRAM语句段的source文件,各自生成foo1.o,foo2.o等。再一起编译。例如:
gfortran -c foo1.f/f90
gfortran -c foo2.f/f90
gfortran main.f/f90 foo1.o foo2.o -o main
5、foo.f95的,加选项"-std=f95",.f2003的,目前支援尚不完整。顺便说,gFortran unstable版4.3.x将支援pointer。
下面还有一些可能常用到的options。
"-fbounds-check":检查列表序列脚标是否超出
"-ffree/ffix-line-length-n":设置最大columns。77默认:72;90默认:132。n若设为"0"或"none",则不限有效行数
"-fimplicit-none":等同于在f90每段sub中声明"IMPLICIT NONE",且source中implicit语句优先
"-fmax-error-n":意义如词义
"-fsyntax-only":不编译,只检查语法
"-fexternal-blas":使用BLAS库函数,替代gFortran默认的函数