文章目录
- 安装
- 入门的第一段fortran代码
Fortran系列
- 1 安装和编译💎 2 数据类型💎 3 过程和子过程💎 4 判断和循环💎 5 数组
- 6 字符串💎7输入输出💎8模块和包管理💎9 动态链接库/C语言混合编程
虽然号称上古语言,而且貌似用户数量一年不如一年,但偶尔也有诈尸的时候,而且比较夭寿的是20年的时候竟然有人开发了fortran
的包管理工具fpm
,更离谱的是按照计划,fortran会在2023年发布最新版本,可以说离谱到家了。当然,仔细研究之后,发现fortran还挺有可取之处的。毕竟当年开发Fortran的大佬巴克斯都已经得了图灵奖。
据说当时巴克斯向IBM建议开发全新的编程语言时,还遭到了大神冯诺依曼的强烈反对,但后来IBM还是开发了这个语言。1957年,诺伊曼去世后的两个月,历史上第一段Fortran程序出现在IBM704电脑中,结果还报了错……
安装
首先配置编译环境,下载cygwin,安装后搜索gfortran
,取消skip
,然后安装就可以了。将cygwin
路径中的bin
加入环境变量,就可以在命令行中调用了
1>gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/11/lto-wrapper.exe
Target: x86_64-pc-cygwin
Configured with: /mnt/share/cygpkgs/gcc/gcc.x86_64/src/gcc-11.3.0/configure --srcdir=/mnt/share/cygpkgs/gcc/gcc.x86_64/src/gcc-11.3.0 --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --with-gcc-major-version-only --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --with-tune=generic --enable-languages=c,c++,fortran,lto,objc,obj-c++,jit --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --enable-libquadmath --enable-libquadmath-support --disable-libssp --enable-libada --disable-symvers --with-gnu-ld --with-gnu-as --with-cloog-include=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 11.3.0 (GCC)
入门的第一段fortran代码
安装完程序之后,就可以写代码了,主程序是fortran
程序的必要组成部分,用program xxx
和end program xxx
作为首尾标志,起到C语言中main
函数的作用,下面举一个最简单的例子
!fortran 语言用!做注释
!文件名 test.f95
program addNum
implicit none
real :: a, b, res
a = 12.0
b = 15.0
res = a + b
print *, a, '+', b, '=', res
end program addNum
其中implicit none
表示未作类型默认,所以创建变量后需要声明类型,real
表示实浮点数,a,b,res
是三个变量;print *
可将后面的变量打印到屏幕上。
调用gfortran
编译并运行
>gfortran test.f95
>a.exe
12.0000000 + 15.0000000 = 27.0000000
此外,fortran
程序要求每行字符不得多于132个,若一行代码以&
结尾,则下一行继续这行代码的内容。
更多推荐
Fortran教程1:安装和编译
发布评论