【发布时间】:2012-12-18 15:57:12
【问题描述】:
我有一大段用 Fortran 77 编写的遗留代码。我正在编译它并使用英特尔 Fortran 编译器(版本 11?)运行它。我最近遇到了一个问题,输出文件的大小接近 2GB,并且输出停止写入磁盘。
我四处寻找这是否是 Fortran 77 标准的一部分,或者我只是缺少编译器标志或其他东西,但没有找到任何指向我的问题的东西。
更改写语句不是一种选择,因为遗留代码大约有几十万行。最坏的情况是每隔几天我就会进入并将输出的早期部分截断到不同的文件中,但我宁愿不必这样做。
【问题讨论】:
-
成功的 Fortran 标准几乎不承认文件(或计算机)的存在,更不用说对它们设置限制了。标准指出,与环境交互的这类事情是特定于实现的。我不知道我大量使用的英特尔编译器对输出文件大小设置了限制。您对 2GB 上限的规范让我怀疑这是一个 o/s 限制;您是否在 32 位 Windows 系统上运行?
-
我在 64 位 Scientific Linux 6.3 上运行,这是一个 RedHat 克隆。我将检查我的文件系统类型,看看这是否是问题所在。编辑:我所有的分区都是 ext4,所以这也不应该是问题。
-
始终使用标签fortran 并且仅在必要时添加版本以区分您的问题是具体的。例如,您不能使用 Fortran 2008,而只能使用 Fortran 90。
标签: fortran fortran77 intel-fortran