Fortran教程1:安装和编译
文章目录
- 安装
- 入门的第一段fortran代码
虽然号称上古语言,而且貌似用户数量一年不如一年,但偶尔也有诈尸的时候,而且比较夭寿的是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 addNumimplicit nonereal :: a, b, resa = 12.0b = 15.0res = a + bprint *, a, '+', b, '=', res end program addNum
其中implicit none
表示未作类型默认,所以创建变量后需要声明类型,real
表示实浮点数,a,b,res
是三个变量;print *
可将后面的变量打印到屏幕上。
调用gfortran
编译并运行
>gfortran test.f95
>a.exe12.0000000 + 15.0000000 = 27.0000000
此外,fortran
程序要求每行字符不得多于132个,若一行代码以&
结尾,则下一行继续这行代码的内容。
Fortran教程1:安装和编译相关推荐
- caffe安装,编译(包括CUDA和cuDNN的安装),并训练,测试自己的数据(caffe使用教程)
caffe是一个非常清晰且高效的深度学习框架,目前有着不少的用户,也渐渐的形成了自己的社区,社区上可以讨论相关的问题. 我从开始看深度学习的相关内容到能够用caffe训练测试自己的数据,看了不少网站, ...
- lnmp编译安装mysql_LNMP编译安装教程
LNMP编译安装教程 此次安装在Centos上,我采用的CentOS的版本是:CentOS release 6.5 (Final) 可以通过以下命令查看:lsb_release -a 一.准备工作: ...
- wxWidgets Ubuntu下安装 配置 编译 创建项目 实现“hello world”(CodeBlocks)详细图文教程
3.2 安装CodeBlocks编译环境 3.2.1 安装build-essential 输入命令: sudo apt-get install build-essential 3.2.2 安装gdb ...
- Wireshark数据抓包教程之安装Wireshark
Wireshark数据抓包教程之安装Wireshark 安装Wireshark 通过上一节的学习可以根据自己的操作系统来下载安装Wireshark了.本书中已开发版1.99.7(中文版)为主,下面介绍 ...
- WRF,WPS,WRF-Chem安装及编译步骤及bug总结(2)
(1)中详细讲了安装和运行./geogrid.exe的过程和有关bug. ./ungrid.exe ./metgrid.exe .就相对简单了. 在运行WRF时遇到问题: (1)在WRFV3/ ...
- mysql5 7安装教程_MySQL57安装教程
MySQL57安装教程... --------------------------- 首先需要下载MySQL57安装包: --------------------------------------- ...
- Linux本地yum源配置以及使用yum源安装gcc编译环境
本文档是图文安装本地yum源的教程,以安装gcc编译环境为例. 适用范围:所有的cetos,红帽,fedroa版本 适用人群:有一点linux基础的小白 范例系统版本:CentOS Linux rel ...
- Linux搭建waf防火墙,Linux入门教程:nginx安装配置naxsi waf防火墙,nginxwaf Naxsi 不依赖...
Linux入门教程:nginx安装配置naxsi waf防火墙,nginxwaf Naxsi 不依赖 Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开源 WAF ,但是它 ...
- linux内核编译最详细,Linux内核编译详细教程,linux内核编译
Linux内核编译详细教程,linux内核编译 尝试编译下Linux-kernel 4.14.14,使用Ubuntu 16.04 64位 系统. kernel-4.14.14 内核文件约96MB,解压 ...
- fortran教程2:数据类型
文章目录 数据类型 implicit函数 数据类型转换 上节内容: fortran安装和编译 数据类型 fortran共有5中数据类型 整数 实数 复数 逻辑 字符 integer real comp ...
最新文章
- Samba的配置命令
- 为鸿蒙说两句公道话,鸿蒙是安卓的套壳吗?
- RabbitMQ不公平分发
- 语音视频社交背后技术深度解析
- MIDDLEWARE 在传输大量数据时,经常会发生堵塞,如果有一条错误的数据整个队列将无法处理
- centos6配置mysql5.7_CentOS 6/7 下 MySQL 5.7 安装部署与配置
- 学习笔记——RuntimeException
- lisp 标注螺纹孔_螺纹的标注方法
- 关于电的计算机公式,电能计算-电能的计算公式-电工基础 - 电工屋
- beetl模板使用场景_Beetl模板引擎入门教程
- python输入年份判断生肖_python年份判断生肖
- 15个国外最好的电子商务建站程序
- 吱口令代付|淘宝天猫教程|找人代付|淘宝代付源码
- Snipaste-无广告截图工具
- php微信公众号支付vue,vue项目使用微信公众号支付总结及遇到的坑
- php仅显示月份的日历,JSP_用JSP实现的一个日历程序,!-- 显示任意年、月的日历 - phpStudy...
- 链表操作eeeeeeeeee
- 奥兰多环球影城“霍格沃茨的黑魔法”声光秀
- Go C画图 CSP-J 信息学奥赛 2023.02.16 测试题
- 从零起步(无需数学和Python基础)编码实现AI框架之第六节课:使用Matrix编写AI框架实战及测试
热门文章
- Python爬虫实战(四) Python鬼灭漫画爬取+简单JS分析
- 直播app开发中这几个功能影响后期运营
- ImportError: cannot import name ‘VGG16‘ from ‘keras.applications‘
- Perl 语言学习笔记 (一)
- 35岁被称为中年男人,失业之后可以做些什么
- 人工智能助力新零售,无人售货柜降至6000元
- html文件可以打开,asp文件打不开的原因
- timestamp变成×tamp问题
- 计算机pc的桌面操作系统,电脑桌面操作系统介绍
- **简易的实现用户注册、登陆以及退出功能**