问题标签 [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.
gfortran - 仍然支持 gfortran 和 g95 吗?
我听说g95不再活跃了。现在哪个编译器适合使用(我将不胜感激最新的概述)
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?
fortran - 在 G95 中以四倍精度对“qcos_”和“_g95_qcos_r16”的未定义引用
我试图在 FORTRAN[real(kind=16)] 上进行四倍精度,但我不断收到错误
我试图改变qcos
,cos
但是,
sin
, abs
, acos
, asin
,同样的问题sqrt
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) 并且程序编译没有进一步的问题
compiler-errors - 无法编译我简单的 fortran helloworld 代码
我对 fortran 完全陌生,之前只做过一些 python 和 c++。我尝试按照教程进行操作,但无法让我的编译器工作。
当我尝试该程序时:
在记事本中保存为“fort.f”,使用 Windows 的 g95 编译器,然后尝试两者
和
在 cmd 的正确文件夹中
我明白了:
我试过用谷歌搜索错误,但看不到它们如何应用于这个简单的代码,它取自教程,因此应该可以工作。那么可能是关于我的编译命令或 g95 的安装?
fortran - 使用 g95 出错:无法确定命名可执行文件的标志
我正在尝试使用 g95 编译器构建EXCiT!NG 。在出现此错误之前,它似乎可以工作:
fortran - 支持ieee_arithmetic的gfortran/ifort/nagfor/g95第一个版本是什么?
我想确定正在使用的 Fortran 编译器是否支持 ieee_arithmetic。我想这可以通过检查一些宏来完成,例如,在预处理中。为此,我想知道以下内容。
- 支持 ieee_arithmetic 的 gfortran / ifort / nagfor / g95(或其他常见的 Fortran 编译器)的第一个版本是什么?我在网上搜索并查看了手册,但没有找到答案。如果有人碰巧知道有关这些编译器之一的信息,那就太好了。
2. 不检查编译器的版本,有没有更好的方法来判断ieee_arithmetic是否可用?
非常感谢!
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 ...)的最早版本是什么?
我知道我应该自己检查文档——我会的。我把这个问题放在这里,以防有人知道答案。稍后我将编辑问题以包含答案,以防其他人正在寻找相同的东西。谢谢。
回答第四个问题:
- gfortran:4.3(根据https://gcc.gnu.org/wiki/GFortran/News#GCC4.3),2008 年发布
- nagfor:5.1(根据http://geco.mines.edu/software/nagfor/nag_f2003.html#AUTOTOC_9_1),2008 年发布
- 适用于 Linux 或 AIX 的 IBM XL Fortran:不迟于 12.1(根据http://publibfp.dhe.ibm.com/epubs/pdf/c2385550.pdf和https://www.ibm.com/support/pages/sites /default/files/support/swg/swgdocs.nsf/0/5f70ca824c75701b852574720069a576/%24FILE/compiler.pdf ),2008 年发布
- ifort :11.0(根据https://jp.xlsoft.com/documents/intel/compiler/11/Release_Notes_f_osx.pdf),2009年发布
- pgfortran:10.8(根据https://www.pgroup.com/support/new_rel_2010.htm#new),2010 年发布
- absoft Fortran:14.0(根据https://www.absoft.com/wp-content/uploads/2015/08/ProFortran2014WindowsReleaseNotes.pdf和http://www.gmsl.it/wp-content/uploads/2014/09 /Fortran_Reference.pdf ),2014 年发布
gnu-make - 运行大气化学模型时 gmake 出错(linux)
我试图运行一个称为 CAABA/MECCA 3.0 的大气化学模型。安装所有依赖项后,在此过程中,我收到以下与 gmake 相关的错误。
我对 gmake 和 ubuntu 也很陌生。我也尝试重新安装g95,但它说该文件已经安装。
在这方面的任何帮助将不胜感激。