fortran(ifort)中连续行的数目不合理

fortran(ifort)中连续行的数目不合理,fortran,fortran90,intel-fortran,Fortran,Fortran90,Intel Fortran,显然,Fortran编译器中允许的连续行数存在限制。我有一个临时的病态案例(为了快速测试而做),我需要初始化一个巨大的数组,而不需要打开文件或做任何欺骗,只需将数据作为文本输入即可。数组相当大(360000个条目) 如何将编译器的限制设置为无限,或者可以使用什么替代策略来承载此数组初始化?我不知道关于无限延续行的任何编译器设置,但我建议使用以下替代方法: 在一行上指定每个值 将值放入文件并读取:) 调用C函数来填充fortran数组 您可以使用隐式DO循环批量分配它们,直到编译器施加的继续限制

显然,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 /

我在很多scientific Fortran代码中都看到了这一点。

编写一些代码,用文本文件中的数据创建源文件。按行或其他方式拆分分配,以避免创建一个庞大的语句来一次性初始化数组。请记住,生成代码的代码可以非常灵活。

我最终完成了您建议的第一个代码。我无法读取文件,也无法与C交互。@Rook:代码已经够乱了。我需要一些可靠的和汇编的东西。我正在进行测试和调试,而不是发布。@Stefano-好吧,如果不硬编码数组值,它肯定不会那么混乱。从文件中读取它们肯定不是杂乱无章的,也不是不可靠的。(虽然,从另一方面来说,我不确定你的问题是否正确理解。你正在硬编码360000个不同的数组值?@Rook:我的设置既混乱又不可靠。