• 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.org提供下载g95_MinGW.exe的ftp:http://ftp.g95.org/g95-MinGW.exe;如果没有成功,加载不出来(对我来说就是这样),那么fortran company网站的g95下载也可以:https://www.fortran.com/the-fortran-company-homepage/whats-new/g95-windows-download/。下载下来解压,应该就是一个.exe文件,直接运行就可以了,程序会自动询问你安装位置(可以自己选)、是否添加到路径(PATH,选是就好)等等问题,不到两分钟整个安装就完成了!如果要验证安装是否成功,在命令行cmd中直接输入

    g95 --version

    然后cmd会返回一个G95的版本信息,如下所示。首先看到这个版本其实已经8年半没有更新过了;此外,G95编译器是开源的,所以“You may redistribute copies of G95 under the terms of the GNU General Public License”。

    C:Usersadmin>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 DocumentsProgrammingFortran>g95 hello_world.f90 -o hello_world.o

    再使用”dir”命令,就可以看到当前目录下出现了”hello_world.o”,直接键入文件名运行:

    D:Personal DocumentsProgrammingFortran>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 
    PRINT *, 'Arithmetic mean: ', av1 
    PRINT *, 'Geometric mean: ', av2 
    END

    同样编译运行:

    D:Personal DocumentsProgrammingFortran>add_numbers.o 
    Input 2 numbers:
     2.0 8.0 
    Arithmetic mean: 5. 
    Geometric mean: 4.
    

     

  • 相关阅读:
    Linux进程管理工具Supervisor
    RSA加密传输代码示例
    静态网站创建工具Docusaurus
    Proactor和Reactor模型
    机器学习中的七宗罪
    Tokio internals: Understanding Rust's asynchronous I/O framework from the bottom up
    开源软件创建SOC的一份清单
    How to setup SOC using open-source tools
    彼得定律
    深入浅出通信原理连载
  • 原文地址:https://www.cnblogs.com/gentle-min-601/p/10475543.html
Copyright © 2020-2023  润新知