【发布时间】:2014-03-18 16:48:30
【问题描述】:
是否可以在一个程序中创建一个数组,然后在其他程序中使用它?我要创建的数组非常大,它的创建需要一段时间,所以我不想每次运行主程序时都重新创建它,而是在另一个程序中创建一次后使用它。由于它的大小,我不确定是否将其打印到文件然后再读回效率也不会很低?
它是一个维度为 1:300 000 和 100 的整数数组。
【问题讨论】:
标签: arrays save fortran fortran90
是否可以在一个程序中创建一个数组,然后在其他程序中使用它?我要创建的数组非常大,它的创建需要一段时间,所以我不想每次运行主程序时都重新创建它,而是在另一个程序中创建一次后使用它。由于它的大小,我不确定是否将其打印到文件然后再读回效率也不会很低?
它是一个维度为 1:300 000 和 100 的整数数组。
【问题讨论】:
标签: arrays save fortran fortran90
长评:
您可以使用多种格式保存数据:Fortran 未格式化的顺序、Fortran 未格式化的直接、Fortran 未格式化的流、NetCDF、HDF5、VTK ...... 真的很难用任何明确的答案来回答这个问题。我们真的不知道计算它有多耗时,因此我们无法判断保存是否会更耗时。
您当然应该寻找unformatted 或binary 格式。
编辑:您的数组实际上并没有那么大。保存和阅读将很快。只需使用未格式化的文件形式。
【讨论】:
OPEN(UNIT=10,FILE='all_paths.direct',FORM='UNFORMATTED', ACCESS='sequential', STATUS='unknown') 时,我得到一个分段错误?