问题标签 [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.
xcode - 带有 fortran 的 Xcode
我正在尝试使用我制作的 makefile 在 Xcode 中编译一些 fortran 文件。问题是 Xcode 找不到 gfortran 编译器。我有它,因为如果我去控制台并尝试从那里编译它工作得很好。
你知道如何在 Xcode 中添加 fortran 编译器吗?
提前致谢
pointers - 派生类型中的关联指针?gFortran 与英特尔
我想检查派生类型中的指针是否已经定义。我编写了以下简单代码来向您展示我的问题:
使用 gFortran 4.4.1 编译此代码并在 Ubuntu 上运行它会得到结果:
而在 Windows Vista 上使用英特尔 Fortran 编译器 11.0 编译的相同代码提供:
第一个结果(gFortran)是我真正期待的。但英特尔编译器提供不同结果的事实让我担心我的代码可能不正确。我对这个例子中的指针做错了什么吗?有什么想法或解释吗?
非常感谢您的帮助!
linux - Mac上的Fortran总线错误
以下 Fortran 代码在我的 Mac 上给我一个总线错误,但在我的 Linux 机器上运行它时没有错误:
我的理解是,当程序尝试访问不可能的内存时会发生总线错误,但我不明白在该程序中的何处进行了此类尝试。我的 MacBook 有 GCC 4.4.0,我的 Linux 机器有 GCC 4.3.2。关于为什么会发生此错误的任何想法?
dll - gfortran、DLL、下划线
我想从第三方 DLL 访问一些子程序。这些函数使用 STDCALL 作为调用约定。
跑步dumpbin /export foo.dll
给了我类似的东西:
我使用以下方法编译我的代码:
我收到一个错误:(undefined reference to '_foo_'
注意下划线)。
我已经尝试添加-mrtd
编译标志,以及我用谷歌搜索的其他标志,但都无济于事。
如何告诉 fortran 不要添加下划线?
编辑:有点澄清是为了。
- 我有一个我没有源的现有 DLL。
- 如果有帮助,这个 DLL 是用 Visual Basic 编写的。
- 我想从fortran 调用这个 DLL。
- 当我在 test.f90 中写入时:
Foo(1.0d0)
出现undefined reference to '_foo_'
链接错误
compiler-construction - 我怎样才能知道我使用了哪个编译器
我已经安装了 NetCDF“binary-netcdf-4.0.1_gfortran_gfortran_c++.tar”。但我不确定我使用的 gfortran 编译器。如何找到我使用的编译器?
fortran - 将 sun studio 兼容的 fortran 77 移植到 gcc:READ、FORMAT 中的格式说明符
我有一些旧的 fortran 77 我正在尝试在 Windows 上移植到 gcc。
我正在使用 gfortran 4.4。
该语句使用 READ(FOO, '(F)' , ERR=BAR) BAZ 并且 gcc 抱怨 F。从我所看到的情况来看,F 需要与之关联的大小。还有一些使用类似结构的 FORMAT 语句。
移植这个的正确方法是什么?似乎在 sun studio 编译器上单独使用 F 正好适合适当的大小。但是 gfortran 抱怨它不是一个非负或正的宽度。
任何想法如何移植这个?
fortran - 在 gfortran 中预处理 !DEC$ 指令
我有一个最初针对英特尔编译器的大型 Fortran 代码库。我现在正准备用 gfortran 编译。不幸的是,代码中充斥着英特尔风格的预处理指令,例如:
从我通过谷歌搜索和 gfortran 文档可以看出,除了 C 风格的预处理之外,没有任何内部 gfortran 支持,例如:
有没有其他人遇到过这个问题并提出了一个优雅的解决方案?显然,在将代码传递给 gfortran 进行编译之前,我可以编写一个调用外部预处理器的 shell 脚本,但这对我来说似乎不是一个很好的解决方案。
有什么想法吗?谢谢大师!
windows - 如何使用符号数据调试命令行文件
我有一个崩溃的编译 .exe 文件(使用 gfortran 和 -g 选项编译)。我可以使用WinDBG -I命令将 WinDBG 程序附加到它。
有趣的是它会产生堆栈溢出:
但是,输出显示我的程序中没有调试信息。它尝试搜索 .dbg 或 .pdb 文件,但它们不存在。我假设调试信息包含在可执行文件中(来自 unix 背景)。
fortran - 求解二次方程但出现奇怪的错误
我正在尝试我在 Fortran 中的第一个程序,试图求解一个二次方程。我对我的代码进行了两次和三次检查,没有发现任何问题。我不断在不同位置收到“(1) 处的名称中的无效字符”和“(1) 处的不可分类声明”。代码有什么问题?
macos - 这个 Fortran '77 片段有什么问题?
我的任务是维护一些遗留的 fortran 代码,但我无法让它与 gfortran 一起编译。我已经写了相当多的 Fortran 95,但这是我第一次使用 Fortran 77。这段代码是有问题的:
当我用 编译时,以语句gfortran file.FOR
开头的所有行都是错误的(例如,对于接下来的每一行,直到它达到 25 个错误限制)。我用 编译,但修复警告并没有解决这个问题。common
Error: Unexpected COMMON statement at (1)
-Wall -pedantic
疯狂的是,如果我注释掉以开头的所有 4IF='TEST.IN'
行,程序将按预期编译和工作,但我必须将它们全部注释掉。将其中任何一个不加注释都会给我从common
语句开始的相同错误。如果我注释掉该common
语句,我会得到相同的错误,只是从下一行开始。
我在 OS X Leopard(不是 Snow Leopard)上使用gfortran
. 我已经广泛使用这个系统gfortran
来编写 Fortran 95 程序,所以理论上编译器本身是理智的。这段代码到底是怎么回事?
编辑:用 g77 编译给出:
呃,在(1)处建立了什么上下文?