问题标签 [fortran77]
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.
fortran - 单台 PC 上的 MPI Fortran 代码错误
最近我试图在单机(Ubuntu 12.04 - 64 bits core i7 2670 QM)上编译和运行我的 mpi 代码,我使用以下配置安装了 mpich2 版本 1.2:
安装没问题,我的 mpd 运行良好,我用示例测试了 mpd,一切都很完美。
我使用 mpif77 编译我的代码,因为我不知道为什么当我编译 mpich2 时没有创建 mpif90。但即使使用 mpif77 我编译的代码也没有错误。
我用来编译代码的标志是:
对于编译器:
对于 MPI 链接器:
所以问题是当我尝试在我的机器上运行代码时:
首先我调用 mpd 为:
然后将代码运行为:
我尝试了很多变化:
所有结果都导致相同的错误:
我花了将近 2 周的时间试图解决这个问题,因为我真的需要在我的个人电脑上运行这段代码才能在家工作。我感谢所有可以帮助我的东西!
这是我初始化 MPI 库的方法
format - fortran 77 程序出现错误“startio 错误:格式错误”
我正在尝试运行一些旧的 fortran 77 代码,它给了我一个我无法弄清楚的错误。该程序是用g77编译的。
这是运行时的输出:
j.cmp
是我的输入文件;cyfile
假设是我的输出文件。有没有人对导致错误的原因有任何想法?是我输入文件的格式吗?它不能写入输出文件吗?
fortran - Compaq Visual Fortran 和 GNU Fortran 有什么区别?
在 Linux 下,我使用 gfortran 编译了一些 Fortran 77 代码,这些代码是在 Windows 下的 Compaq Visual Fortran 6.5 (CVF) 上开发的。一些错误与不同的关键字更改有关,例如TYPE
在 CVF 和PRINT
gfortran 中。
CVF 和 gfortran 之间有详细比较吗?
c++ - 从静态库函数访问文本数据文件
如何启用静态库以提取 ascii 数据文件中可用的数据?
我正在尝试将模型作为库添加到模拟中,其中包含从数据文件中读取数据的函数。我能够从实际完整模拟之外的主程序编译和运行函数,但是一旦我将函数作为库放在主机上进行模拟,数据就不再被读取。
由于数据路径因用户而异,因此我无法提供 ascii 数据文件的绝对数据路径。有没有办法使用 objcopy 将数据文件制作成库中的目标代码,或者如何最好地访问静态库中的数据?
fortran - Fortran“调用”语句:它实际上可以调用什么?
我继承了大约 400 行写得很奇怪的 Fortran 77 代码,我试图一步一步地分析它,以便在我的脑海中清晰。
无论如何,我有一个类似标题的文件(实际上是一个.h
,但其中的代码是 fortran 而不是 C/C++),其中只有两个语句,称为getarg.h
:
然后我有另一个.f
名为的 fortran 文件 () getserie.h
,其中包含以下代码:
我的问题是:我可以call
创建一个仅包含变量声明的外部文件吗?这样做有什么效果?
plot - 将结果存储在 fortran 77 的列中
我正在将我的一个代码转换为 fortran 77,但我在存储结果时遇到了问题。
我使用了以下代码
然后在 Matlab 中加载文件 name.txt 进行绘图。但是,结果作为二维数组写入文件,因此 matlab 以错误的顺序识别条目。我认为解决方案是将结果作为一维数组写入 name.txt 中。
任何人都可以对将 fortran 的结果写成数组有任何建议吗?例如,我想获取一个文件,其中条目的排序为
1 2 3 4 5 6 7 8 9 10
以外
1 2 3 4 5
6 7 8 9 10。
当然,如果您知道任何更好的方法来绘制从 Fortran 77 获得的结果,它对我也很有用。
顺便说一句,我在 UNIX 上工作。
谢谢
segmentation-fault - Fortran:在函数中调用子例程
我正在构建一个程序,它必须在函数子程序中调用子程序,并且能够在主程序中调用相同的子程序。
这都是固定格式的 fortran 77('.f' 扩展名)。我收到的错误是分段错误。我是否应该像本网站上的其他一些帖子所建议的那样制作一个模块?我还是个初学者,不知道怎么在77中做一个模块。子程序必须能在函数和主程序中访问。我当前的程序结构将函数和子例程分成两个单独的 .f 文件,并在 main 的末尾使用 include 语句。
我在这个网站上搜索了类似的问题,只能找到有关 fortran 90 的帮助。我使用的是 gcc 4.6.1 中的 gfortran。
编辑:我解决了这个问题。我试图在函数中调用的子例程具有数字和字符输出。我忽略了字符输出并且没有字符定义的变量来处理字符输出。一旦我在函数中定义了一个字符变量,一切正常。谢谢大家的耐心和帮助。
io - Fortran:如何从文件中读取数组
我正在尝试将整数从文件读取到数组中。但是当我运行程序时出现错误。
输入文件如下所示:
fortran - 哪些 Fortran 77 格式说明符永远不会用于输入?
仍在为 C# 制作 fortran I/O。我有限的 fortran 经验并没有真正帮助,所以我再次需要专家的一些建议。
我现在只关心 Fortran 77 和数据输入。稍后我将处理数据输出。
从这个fortran 编辑描述符列表中,到目前为止,我已经编码了 I、F、E、D、G、L、A、''、Tn、TL、TR 和 X 用于数据输入。还是需要照顾BN和BZ...
我想知道其余的符号 $、:、/、Sp、SS 和 S 是否真的出现在数据输入的格式字符串中?我可以想象 / 可能如果要提前终止读取数据线,但我看不出另一个有什么用处。
c++ - 确定未在 Fortran 子例程顶部声明的变量类型
我正在使用旧版 Fortran 77 代码子例程,其中未在代码块顶部声明参数类型。
这是一个显示子例程最顶部的片段。
综上所述,我认为这是一个长度为 typeA
的数组,其大小相当于一个 C 。或者,是一个类型为 的长度数组。N
REAL *4
float
FV(4)
4
REAL *4
但是,F1,F2,F3,F4,SI,N,IERR
如果未列出类型,则 的类型是什么?看来N
应该是一个integer
。
我需要知道类型,以便我可以从 C++ 代码中调用子例程。对于未声明的类型是否有 Fortran 约定?