2.4拓展:gfortran的安装
虽然linux下ifort安装比较麻烦,不过gfortran挺好安装,假如代码对于软件适用的话,可以考虑安装gfortran,具体如下,打开终端窗口,输入以下内容可手动安装:
Redhat系统输入:sudoyuminstallgcc-gfortran
Ubantu系统输入:sudoapt-getinstallgfortran
参考链接:
gfortran中关于编译和链接的形式与ifort中的句型基本一致,只要把命令句子开头的ifort改为gfortran即可,而且可能没有-O2这些了
第三章ifort的基本使用
本章主要介绍怎样在Linux系统下完成对Fortran代码的编译和链接,并获得和运行可执行程序,这儿编译和链接由ifort来完成
3.1ifort常用命令行参数如下
(1)-o:输出文件命名(这儿小o是output的简写)
(2)-I:include路径
(3)-L:lib路径
(4)-l:包含的lib名
(5)-c:仅生成目标文件(*.o),不链接(这儿小c是compile的简写)
(6)-On:其中n=0,1,2,3,代表编译器优化选项,n=0关掉编译器优化,n=3使用最激进的优化,这儿我们通常使用-O2即可。(另外注意这儿是大Oqq for linux,是Optimization的简写)
3.2具体编译、链接的过程3.2.1简单的编译链接
(1)在文件夹空白处右键bin文件安装 linux,选中openinterminal,这样即可打开终端
(2)创建.f90文件:终端输入touchmain.f90后回车,会在当前路径下手动创建一个空白的main.f90文件,双击该文件打开后输入代码;
(3)再输入ifort-c-O2main.f90sub.f90后回车,会手动进行编译,得到Main.o和Sub.o两个文件,.o表示object文件,在windows系统下编译也会有这个文件;
(4)再输入ifortmain.osub.o-ohello,此代码是将两个对象文件链接成可执行程序linux文件系统,这个可执行程序为hello,没有后缀名;
(5)再输入./hello,之后回车即可运行该可执行程序。
图2编译&链接命令行
作为测试的Fortran代码如下
(1)Main.f90如下:
Programmain
Implicitnone
Write(*,*)”HelloWorld!”
Callhi
End
(2)Sub.f90如下:
Subroutinehi
Implicitnone
Write(*,*)”HelloWorld!FromSubhi!”
EndSubroutinehi
3.2.2有module文件的编译链接
(1)若果有module文件的话,须要先编译Module文件,由于主/子函数依赖于module文件,即编译时module文件名写在前,其他写在后。
(2)若module文件和其他f90文件比较多,人工无法一个个比较依赖关系,也不想把每位文件名都敲一遍,此时可以使用命令:ifort-c-O2*90
(3)其中*90表示对该目录下所有后缀为.f90的文件进行编译,并且第一次使用这个命令会报错,由于没有指定module先编译,所以有的子函数文件就找不到依赖文件,并且总体就会编译,所以也会把module文件编译下来
(4)再度用ifort-c-O2*90这个命令进行编译时,由于里面早已进行了module文件的编译,所以此次编译时所有文件都可以找到依赖
(5)须要注意的是:在windows下Fortran是不分辨大小写的,尤其是文件夹名称的大小写,而且在Linux中,若.f90代码中涉及到文件路径是小写名称,但实际文件路径是大写名称,这时侯会报错,说找不到文件bin文件安装 linux,就是因为Linux分辨大小写。