iso_fortran_env 是fortran语言的一个内部模块,其中定义了一些与fortran运行环境相关的常数或数据类型。主要包含
Fortran For Fun之进度显示
发表于
|
分类于
fortran
在fortran输出advence = ‘no’的情况下,输出前面加上achar(13)可以删除原来的输出,在同一行重新进行输出,以下字符为
|
|
Fortran For Fun之预处理
发表于
|
分类于
fortran
fortran预处理也是借鉴c语言,可以在头文件或程序中通过#define来预定义宏,或在编译选项中添加-D…选项来预定义。预处理通常包括
文件包含
1#include "..."宏定义
1#define ...条件编译
12345#ifdef ......#else...#endif
Fortran For Fun之fortran调用c
发表于
|
分类于
fortran
使用fortran和c混合编程可以利用一些现有的c和c++的库,减少代码量,提高编程效率。fortran调用c程序需要使用fortran编写程序接口,通常会用到 iso_c_binding这个模块。
Fortran For Fun之block结构
发表于
|
分类于
fortran
在fortran2008标准中新添加了一种block结构,该结构允许程序在block里定义新的局部变量以及操作。对于某些程序很长的程序,可以分解成几个block,然后在每个block里面定义变量以及操作。这样逻辑更加清晰,并且block里面的局部变量的获取速度会快很多。
Fortran For Fun之纯函数 递归函数 逐元函数
发表于
|
分类于
fortran
Fortran中存在几种特殊的函数或子程序,这些函数或子程序需要在定义时特殊说明。主要有以下三种特殊程序
- pure 程序 (纯程序)
- recursive 程序 (递归程序)
- elemental 程序 (逐元程序)
Fortran For Fun之析构函数final
发表于
|
分类于
fortran
fortran程序的内存管理很不方便,对于自定义的数据类型需要在程序中手动分配和释放内存,但有时候可能会忘记释放内存,造成内存泄露。所以对于自定义的数据类型最好绑定一个final程序,该程序会在这个类的对象需要销毁的地方自动调用。这些地方包括:
- 程序结束
- 传递给intent(out)形参
- deallocate
- 等号左边
Fortran For Fun多态之class(*)
发表于
|
分类于
fortran
多态是面向对象程序设计(OOP)的一个重要特征,是指同样的操作作用于不同的数据类型,这些数据类型通常继承自同一个父类。fortran 中存在一种任意数据类型 class(*),以该类型作为子程序的形参,实参可以是任意类型,只需要在子程序中定义实参的实际操作。