我有一个Fortran代码,它编写一个未格式化的直接访问文件。问题是,当我切换到不同的平台时,文件的大小和内容都会发生变化:
不幸的是,在Linux中生成的文件无法从windows读取。LINUX中的文件要小5-6倍。然而,被写入的记录总数似乎是相同的。我用十六进制编辑器打开了两个文件,主要区别是文件的windows版本中存在大量的零。在LINUX中有任何方法产生完全相同的文件吗?
如果有帮助,您可以在这里找到两个文件:ZCZVa?dl=0
我使用以下命令打开文件:OPEN(IAST,FILE=ASTFILR,ACCESS='DIRECT',FORM='UNFORMATTED',RECL=80)
我使用以下命令编写:WRITE(IAST,REC=IRC) (SNGL(PHI(I)-REF), I=IBR,IER)
我使用以下命令阅读:READ(IAST,REC=IRC,ERR=999) (PHIS(I), I=1,ISTEP),其中PHIS是REAL*4数组
发布于 2016-10-24 15:36:44
问题是,默认情况下,Intel指定RECL=以字为单位,而GFortran则使用字节。有一个Intel Fortran编译器选项,您可以使用它来使用字节单元。在Linux上,这个选项是
-assume byterecl对于Windows,我不确定语法是什么,也许类似于
/assume:bytereclhttps://stackoverflow.com/questions/40221684
复制相似问题