问题标签 [g95]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1913 浏览

gfortran - 仍然支持 gfortran 和 g95 吗?

我听说g95不再活跃了。现在哪个编译器适合使用(我将不胜感激最新的概述)

0 投票
1 回答
4743 浏览

fortran - `Allocatable array must have deferred shape` when moving from g95 to gfortran

When transitioning from using the g95 compiler to gfortran I get the following error when I try to compile what previously had been a working code

This happens in all of my subroutines for all of my allocatable arrays. An example is below.

How can I make this code compile with gfortran?

0 投票
2 回答
1171 浏览

fortran - 在 G95 中以四倍精度对“qcos_”和“_g95_qcos_r16”的未定义引用

我试图在 FORTRAN[real(kind=16)] 上进行四倍精度,但我不断收到错误

我试图改变qcoscos但是,

sin, abs, acos, asin,同样的问题sqrt

0 投票
1 回答
615 浏览

fortran - g95 vs gfortran:(1)处PURE过程的虚拟过程'f'也必须是PURE

我收到 g95 的此错误消息:G95 (GCC 4.0.3 (g95 0.94!) Jan 17 2013)

我不明白 gfortran:GNU Fortran (GCC) 4.8.2 20140206 (prerelease) 并且程序编译没有进一步的问题

0 投票
0 回答
162 浏览

compiler-errors - 无法编译我简单的 fortran helloworld 代码

我对 fortran 完全陌生,之前只做过一些 python 和 c++。我尝试按照教程进行操作,但无法让我的编译器工作。

当我尝试该程序时:

在记事本中保存为“fort.f”,使用 Windows 的 g95 编译器,然后尝试两者

在 cmd 的正确文件夹中

我明白了:

我试过用谷歌搜索错误,但看不到它们如何应用于这个简单的代码,它取自教程,因此应该可以工作。那么可能是关于我的编译命令或 g95 的安装?

0 投票
1 回答
276 浏览

fortran - 使用 g95 出错:无法确定命名可执行文件的标志

我正在尝试使用 g95 编译器构建EXCiT!NG 。在出现此错误之前,它似乎可以工作:

0 投票
0 回答
141 浏览

fortran - 支持ieee_arithmetic的gfortran/ifort/nagfor/g95第一个版本是什么?

我想确定正在使用的 Fortran 编译器是否支持 ieee_arithmetic。我想这可以通过检查一些宏来完成,例如,在预处理中。为此,我想知道以下内容。

  1. 支持 ieee_arithmetic 的 gfortran / ifort / nagfor / g95(或其他常见的 Fortran 编译器)的第一个版本是什么?我在网上搜索并查看了手册,但没有找到答案。如果有人碰巧知道有关这些编译器之一的信息,那就太好了。

2. 不检查编译器的版本,有没有更好的方法来判断ieee_arithmetic是否可用?

非常感谢!

0 投票
0 回答
180 浏览

fortran - Fortran:在 Fortran 90/95 中实现一个接受另一个子例程作为参数的子例程

我想编写一个 Fortran 子程序,它接受另一个子程序的名称作为参数——假设第一个子程序是 PDE 求解器,而第二个子程序提供 PDE 的右侧。请注意,第二个子程序可能由其他人实现,因此我们可能对它一无所知,除了它的签名。

这可以使用抽象接口和过程语句来实现。例如,参见 https://github.com/jacobwilliams/PowellOpt/blob/master/src/newuoa.f90

当然也可以使用外部函数: http: //malayamaarutham.blogspot.com/2006/02/passing-function-names-as-arguments-in.html

但是,抽象接口和过程语句仅在 Fortran 2003 之后可用,而外部函数则不可取。这是我的第一个问题

是否可以在不使用抽象接口和过程语句或外部函数的情况下在 Fortran 90/95 中将子例程名称作为参数传递?

一开始我的答案似乎是否定的,因为我看到了这个讨论: http ://computer-programming-forum.com/49-fortran/dba58f497a8dc996.htm

幸运的是,经过更多研究,根据 Fortran |等来源,我发现可以通过普通接口(不是抽象接口)实现。在其他函数中将函数作为参数传递如何在 Fortran 中将子例程名称作为参数传递?, https://www.tek-tips.com/viewthread.cfm?qid=1572869

我实现了以下代码作为最小的工作示例。我的第二个问题是:

以下代码符合 Fortran 90/95 标准吗?

我尝试使用 gfortran、ifort 和 g95 编译代码。前两个编译器很高兴,但是 g95 提出了一个警告:

当我执行

g95 -Wall -Wextra -std=f95 -pedantic main.f90

生成的可执行文件没有任何问题,但为什么会出现这个警告?这是g95的bug吗?如果没有,如何摆脱这个警告?对代码的任何其他评论/批评也将受到高度赞赏。

请注意,在这段代码中,我们需要在每个接收 FUN 作为参数的子程序中为 FUN 编写一个接口块。如果我有很多这样的子例程,那将是乏味的。这激发了我的第三个问题

是否可以将 FUN 的接口封装在一个模块中,并使用该模块分配接口块?(我试过但没有成功。)

非常感谢!

编辑:正如@Ian Bush 和@francescalus 所指出的,也许我应该接受使用抽象接口和过程语句,检查用户的编译器是否实现了F2003 的这种功能。那么第四个问题来了:

实现抽象接口和过程语句的常用 Fortran 编译器(gfortran、ifort、nagfor、pgfortran ...)的最早版本是什么?

我知道我应该自己检查文档——我会的。我把这个问题放在这里,以防有人知道答案。稍后我将编辑问题以包含答案,以防其他人正在寻找相同的东西。谢谢。

回答第四个问题:

0 投票
0 回答
12 浏览

gnu-make - 运行大气化学模型时 gmake 出错(linux)

我试图运行一个称为 CAABA/MECCA 3.0 的大气化学模型。安装所有依赖项后,在此过程中,我收到以下与 gmake 相关的错误。

我对 gmake 和 ubuntu 也很陌生。我也尝试重新安装g95,但它说该文件已经安装。

在这方面的任何帮助将不胜感激。