问题标签 [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 投票
1 回答
2141 浏览

fortran - Fortran 编译错误:(1) 和 (2) 处的两个主要程序

我在编译我编写的这个程序时遇到了麻烦。我花了几个小时试图找出问题所在,但它只是说有两个主要程序根本没有任何帮助。如果有任何帮助,我将不胜感激。谢谢

0 投票
1 回答
603 浏览

debugging - 如何调试具有多个目标文件的 fortran 程序?

我有一个调用一些依赖 .o 目标文件的 fortran 程序。我希望能够在调试时跨文件,这可能吗?

编译例程是这样的:

其中analyze.x 是可执行文件。所有 .o 文件也已使用 -g 标志编译。当我 (gdb) break main 然后尝试单步执行程序时,大多数子例程都发生在目标文件中。我想知道是否也可以单步执行目标文件代码。

0 投票
2 回答
5391 浏览

linux - 链接lapack的问题

我正在尝试将 lapack 和一个简单的

返回

所以我试图将它与

但我收到以下错误:

这里有什么问题?

0 投票
1 回答
278 浏览

g++ - iostream - 链接器错误(使用 g++)

我需要帮助!

我使用 g++ 得到以下链接器错误:

我需要从 FORTRAN 程序中调用 c++ 函数。简单示例:C++ 函数 (func_c.cpp) 是

FORTRAN 函数 (programm.f90) 是

编译我用

我正在使用 Ubuntu(Linux ubuntu 3.0.0-13-generic x86_64 x86_64 x86_64 GNU/Linux)和 gnu - 4.6.1

0 投票
1 回答
674 浏览

xcode - 在 xcode 中调试 gdb-debuggable fortran 可执行文件

我创建了一个可调试的 fortran 可执行文件(我们称它为“myfortranprogram”),我可以通过 gdb 调试器传递它来调试、设置断点等:

假设源文件位于相同的源目录“sourcedir”中,如果这有什么不同的话。

因此,对于非常大的项目,使用终端进行编译会变得有点慢,我更喜欢使用 XCode 接口进行调试。由于 myfortranprogram 已经是可调试的可执行文件,我必须采取哪些步骤才能在 XCode 中对其进行调试?据我了解,XCode 能够使用 gdb 进行调试。

谢谢!

0 投票
1 回答
1052 浏览

c - Fortran 准确性和速度与 C

这个话题可能已经讨论了数百次。我并不是要声称任何语言更差或更好。我只是想学习如何加速我的 C 代码。所以这里有两个代码来计算 Pi。

第一个是在 Fortran90 中:

第二个是在 C 中:

我在 CentOS 6 机器上使用 gcc 版本 4.4.4 编译这两个代码。

CPU 是 Intel(R) Xeon(R) CPU 5160 @ 3.00GHz。

所以,这里是运行每个代码需要多少时间:

Fortran 大约快 20%。我的问题是什么是加速的最佳编译器标志,但仍保持稳定性和准确性?

(是的,我知道 man gcc,我想知道用户的意见)。

感谢您的意见。

结果,没有 OpenMP 编译指示:

其他结果,无需更改代码本身:

0 投票
1 回答
3545 浏览

eclipse - 如何在 minGW 中使用 MPI(openMPI 或 MPICH2) - GNU gfortran 编译器

我正在使用 eclipse PTP IDE 开发 MPI 代码,我希望能够在 windows 上编译 MPI,它似乎提供了 c++ 和 c 绑定,但我正在使用 fortran 和 gfortran 编译器编写并希望在 windows 中工作,当前的问题在 linux 上不存在,因为可以在 linux 中本地编译库并使用 .mod 模块。

我想使用 cygwin 编译模块,但是 cygwin 上的 GNU gfortran 版本太旧了,我在使用 miniGW 的 windows 上没有成功 openMPI 或 MPICH2

有什么建议么?也许在 fortran 2003 中使用 c++ 绑定,我在 fortran 2003 中编写代码,因此它支持此功能。

缺乏有关此问题的文档。

谢谢你。

0 投票
2 回答
2717 浏览

fortran - 将英特尔风格预处理器转换为与 gfortran 一起使用

我正在使用的源代码最初是为英特尔 Fortran 编译器编写的,因此它具有预处理器指令,例如
!DEC$ATTRIBUTES DLLEXPORT::MYDLL
!DEC$ATTRIBUTES STDCALL::MYSUBROUTINE
!DEC$ATTRIBUTES ALIAS: 'MYENTRYPOINT'::MYSUBROUTINE

如何将其转换为与 gfortran 一起使用。主要是我希望能够定义和命名入口点。现在,当我使用 gfortran 编译时,每个子例程都会作为入口点公开。此外,入口点名称都是小写字母,末尾带有下划线。

0 投票
2 回答
510 浏览

scope - 为什么类型不可访问?

我正在尝试从 fortran 函数返回一个类型。这是代码。

在 gfortran (4.4 & 4.5) 中,我收到以下错误:

错误: (1) 处的函数“somefunction”的类型不可访问

我将文件编译为:

我试图将类型明确公开,但这没有帮助。我本来打算使用 ac 版本的 somefunction,这就是为什么我把它放在接口部分。

为什么类型不可访问?

0 投票
2 回答
1710 浏览

error-handling - 纯 Fortran 过程中的 I/O

我正在尝试将错误检查合并到我正在编写的纯程序中。我想要类似的东西:

但是,纯函数不允许对外部文件有 IO 语句,所以我尝试将单元号传递给函数,例如output_unit = 6,这是默认输出。gfortran 仍然认为这是非法的。有没有解决的办法?是否可以使函数成为派生类型(而不是real此处的固有类型),当出现错误时输出字符串?