superfun


  • 首页

  • 分类

  • 归档

  • 标签

  • 搜索

Fortran For Fun之iso_fortran_env

发表于 2018-04-11 | 分类于 fortran

iso_fortran_env 是fortran语言的一个内部模块,其中定义了一些与fortran运行环境相关的常数或数据类型。主要包含

阅读全文 »

Fortran For Fun之进度显示

发表于 2018-04-10 | 分类于 fortran

在fortran输出advence = ‘no’的情况下,输出前面加上achar(13)可以删除原来的输出,在同一行重新进行输出,以下字符为

1
2
3
4
achar(8) !< 退格符
achar(9) !< 制表符
achar(10) !< 换行符
achar(13) !< 回车符
阅读全文 »

Fortran For Fun之预处理

发表于 2018-04-09 | 分类于 fortran

fortran预处理也是借鉴c语言,可以在头文件或程序中通过#define来预定义宏,或在编译选项中添加-D…选项来预定义。预处理通常包括

  • 文件包含

    1
    #include "..."
  • 宏定义

    1
    #define ...
  • 条件编译

    1
    2
    3
    4
    5
    #ifdef ...
    ...
    #else
    ...
    #endif
阅读全文 »

Fortran For Fun之文字颜色显示

发表于 2018-04-08 | 分类于 fortran

可以在字符的前端和后端添加一些特殊字符,使字符在终端的显示带有颜色。

阅读全文 »

Fortran For Fun之fortran调用c

发表于 2018-04-07 | 分类于 fortran

使用fortran和c混合编程可以利用一些现有的c和c++的库,减少代码量,提高编程效率。fortran调用c程序需要使用fortran编写程序接口,通常会用到 iso_c_binding这个模块。

阅读全文 »

Fortran For Fun之block结构

发表于 2018-04-06 | 分类于 fortran

在fortran2008标准中新添加了一种block结构,该结构允许程序在block里定义新的局部变量以及操作。对于某些程序很长的程序,可以分解成几个block,然后在每个block里面定义变量以及操作。这样逻辑更加清晰,并且block里面的局部变量的获取速度会快很多。

阅读全文 »

Fortran For Fun之纯函数 递归函数 逐元函数

发表于 2018-04-05 | 分类于 fortran

Fortran中存在几种特殊的函数或子程序,这些函数或子程序需要在定义时特殊说明。主要有以下三种特殊程序

  • pure 程序 (纯程序)
  • recursive 程序 (递归程序)
  • elemental 程序 (逐元程序)
阅读全文 »

Fortran For Fun之析构函数final

发表于 2018-04-04 | 分类于 fortran

fortran程序的内存管理很不方便,对于自定义的数据类型需要在程序中手动分配和释放内存,但有时候可能会忘记释放内存,造成内存泄露。所以对于自定义的数据类型最好绑定一个final程序,该程序会在这个类的对象需要销毁的地方自动调用。这些地方包括:

  • 程序结束
  • 传递给intent(out)形参
  • deallocate
  • 等号左边
    阅读全文 »

Fortran For Fun之python调用fortran

发表于 2018-04-03 | 分类于 fortran

以球谐函数为例,说明如何使用python调用fortran的接口。

阅读全文 »

Fortran For Fun多态之class(*)

发表于 2018-04-02 | 分类于 fortran

多态是面向对象程序设计(OOP)的一个重要特征,是指同样的操作作用于不同的数据类型,这些数据类型通常继承自同一个父类。fortran 中存在一种任意数据类型 class(*),以该类型作为子程序的形参,实参可以是任意类型,只需要在子程序中定义实参的实际操作。

阅读全文 »
1234…7
c.fang

c.fang

道,行之而成

65 日志
14 分类
34 标签
GitHub
Links
  • ITER
© 2017 - 2018 c.fang