问题标签 [gfortran]

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 回答
4199 浏览

warnings - Ifort 抑制未使用的变量警告,保持所有其他不变

我使用 ifort 和 gfortran 来编译我的 Fortran 程序。

但是我也使用了同事的来源,他有很多未使用的变量。我怎样才能在编译时抑制这些,因为它们并不是真正的错误?

但是我不想在编译器选项中禁用-pedantic-stan,因此想要所有其他警告。

欢呼并感谢您的帮助

0 投票
2 回答
2033 浏览

fortran - 为什么这是一个在模块内声明的函数,然后在链接器看不到的同一模块中的其他地方使用?

我在一个看起来像这样的模块中有一个函数(如果有人感兴趣,就是这个函数)

strtok函数是 C 字符串标记器的一个版本,我将在子例程中使用该函数DO_SOMETHING。我需要定义strtok,否则 gfortran 会抱怨它没有被定义。但是,如果我这样做,并编译我的代码并将其链接到主程序,链接器会抱怨对strtok_. 我不知道为什么会这样,因为它们都在同一个模块中并且应该是可见的。同一模块中的其他函数和子程序没有这个问题。这与这是一个字符*返回函数的事实有关吗?

0 投票
2 回答
1758 浏览

gcc - 从 c 头文件创建 mod 文件

我在 AIX 上安装了gccgfortran,它们工作正常。除其他外,我将它们与一些由头文件(.h在 C 中)访问的库一起使用。相同的库可以与模块一起使用(.mod在 fortran 中),但正如您所知,它们的使用是可选的:如果我注释掉

从我的 fortran 源代码中,一切正常。问题是,我不想注释掉implicit none,所以我也必须保留use mylib,否则我会得到一堆

错误。而且,如您所知,.mod 文件依赖于编译器,所以我不能使用我拥有的文件,否则 gfortran 会吐出:

从理论上讲,我可以用 gfortran 重新编译所有库,但很可能由于各种原因它会失败(如果没有,它仍然是一项艰巨的任务)。

所以我想知道是否有一种方法可以预编译模块.h中的标头.mod,只提供所需的接口信息。不幸的是,我无法找到有关此的任何信息。

0 投票
1 回答
554 浏览

macos - 同时构建多个端口(使用macports)

我正在尝试在我的 macbook pro core duo 2 上构建 gcc45 +gfortran,显然这需要一段时间(我被告知需要几个小时)。我想知道如果我同时在另一个终端中构建一些其他端口/包是否可能(安全)?

0 投票
2 回答
7952 浏览

constructor - 如何在fortran中覆盖结构构造函数

目前是否可以覆盖 Fortran 中的结构构造函数?我见过这样的建议示例(例如在 Fortran 2003 规范中):

由于冗余变量名称,这基本上会产生一堆错误(例如,错误:'mytype' 的 DERIVED 属性与 (1) 处的 PROCEDURE 属性冲突)。fortran 2003 示例的逐字副本会产生类似的错误。我已经在 gfortran 4.4、ifort 10.1 和 11.1 中尝试过,它们都会产生相同的错误。

我的问题:这只是 fortran 2003 的一个未实现的功能吗?还是我执行不正确?

编辑:我遇到了一个错误报告和一个关于这个问题的 gfortran补丁。但是,我尝试使用 gcc46 的 11 月版本,但没有运气和类似的错误。

编辑 2:上面的代码似乎可以使用 Intel Fortran 12.1.0。

0 投票
3 回答
4396 浏览

linker - 未定义的参考,将 Plplot 与 GFortran 链接时出错

我尝试编译在 http://techlogbook.wordpress.com/200...-kubuntu-8-04/找到的以下 Fortran 代码

我在尝试编译程序时使用了以下命令:

但是我收到了下面详述的链接错误消息:

我应该怎么做才能纠正这个问题?(我阅读了 gfortran 的手册页,并且我相信我使用了正确的选项来链接库。)

0 投票
4 回答
1254 浏览

loops - 在 FORTRAN 中禁用矢量化循环?

是否可以绕过 FORTRAN 中的循环矢量化?我正在为特定项目编写 F77 标准,但 GNU gfortran 通过现代 FORTRAN 编译,例如 F95。有谁知道某些 FORTRAN 标准是否避免了循环矢量化,或者 gfortran 中是否有任何标志/选项可以关闭它?

更新:所以,我认为我的具体问题的最终解决方案必须“DO”与 FORTRAN DO 循环不允许更新迭代变量。可以在@High Performance Mark 对此相关线程的回复中找到对此的提及...循环矢量化以及如何避免它

[进入堡垒,让菜鸟躲避。]

0 投票
2 回答
2542 浏览

fortran - FORTRAN 中的函数参数

问题

我试图让一个函数成为另一个函数的参数,但是我不断收到错误消息:

代码

Bellow 是调用该函数并包含实际回调的程序的准系统版本:

然后采用函数参数的函数的模块是:

概括

所以基本上,testbutcher 包含一个要以特殊方式评估的函数,因此它将它发送到模块 butcher(特别是 butcher 中的函数步骤)进行评估。我无法弄清楚如何实际做到这一点!如果我在 C 语言中工作,我会简单地创建一个指向 polytrope 的指针并将其扔给 fxn。

0 投票
3 回答
3857 浏览

fortran - 如何使用 gfortran 处理应用于整数值的逻辑语句?

我正在重写一些代码以使用 gfortran 编译器编译程序,而不是我通常使用的 ifort 编译器。代码如下:

当我使用 gfortran 编译器编译上述代码时,我收到此错误:

进入子程序的所有三个变量都是整数。我环顾四周,gfortran wiki 指出 gfortran 编译器应该能够处理应用于整数值的逻辑语句。我访问过的其他几个站点要么引用了 gnu wiki,要么同意它。这是我第一次看到这个错误,因为我通常使用的英特尔 Fortran 编译器 (ifort) 编译干净。

0 投票
2 回答
588 浏览

compiler-construction - 如何设置正确的编译器以使用 -fastsee 选项

如何设置正确的编译器以-fastsee在 Fortran 中使用该选项?这是我得到的错误: