显然,一个限制存在允许延续行在Fortran编译器。我有一个临时性的病理情况(由于快速测试的目的)那里我需要来初始化的一个巨大的一系列没有打开文件或做任何弄虚作假的,只是巴掌数据在作为文本。阵列是相当大(360000项)。

我怎么能设置的限制的编译器无限制的,或者什么的替代战略我可以使用主办这一系列初始化?

有帮助吗?

解决方案

我不知道任何有关编译器设置的无限制延续行,但我想建议这些备选方案:

  • 分配给每个值都在一个单一的线
  • 把值一文件并阅读:)
  • 叫C功能来填补你的fortran阵列

其他提示

您可以分批使用隐式DO循环将它们分配,达到你的编译器所施加的持续极限:

REAL :: xarray(360000)

DATA (xarray(i) i=1,100) /1.0, 2.0, 3.0, 4.0, 5.0, 6.0, &
    7.0, 8.0, &
...
    98.0, 99.0, 100.0 /

 DATA (xarray(i) i=101,200) /101.0, 102.0, 103.0, 104.0, 105.0, 106.0, &
    107.0, 108.0, &
...
    198.0, 199.0, 200.0 /

我已经看到了这个在很多科学Fortran代码。

编写一些代码来从一个文本文件中的数据创建的源文件。通过拆分行或东西的任务,以帮助避免创建一个巨大的语句来初始化一举数组。请记住,生成代码可以是相当灵活的代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top