木有看到新的错误。 的确 read 读入有限制,具体多少看编译器说明。但肯定比 2G 小 |
我是一头牛 发表于 2015-1-15 09:12 在64位的Linux下开辟数组空间没有问题,应该是read语句一次性没法读入那么大的数据 若是改成循环形式,逐个读入数组a的数据呢? 另外,这么大数据,一次性读入真的有必要吗? |
pasuka 发表于 2015-1-15 08:12 将a改为动态数组 程序如下 [Fortran] 纯文本查看 复制代码 program main implicit none integer,parameter::fg=500 integer,dimension(1024*1280*fg)::a open(12,file='xyyn.txt') read(12,*)a stop end program |
1024*1280*500*4 = 2G 这还是二进制的数,写成文本,至少有 4GB。 大量的数据,建议你用二进制存储,读写速度会快很多很多很多。而且文件也小巧。 你真的需要全部读入内存吗?可否分批次读入? |
把变量a改成动态数组再试试看 |
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-12-23 10:48