Fortran 代码在 Mac 和 Windows 系统上生成不同的结果

问题描述

以下 Fortran 代码使用 intel Visual Fortran 编译器编译,分别在 Mac 和 Windows 系统上运行。在 Mac 上,生成的两个文件与预期不同。但是,在 Windows 上,这两个文件是相同的。我不知道怎么了。

program main
  implicit none
  integer :: n1 = 2,n2 = 10
  integer :: j,k
  real(8) :: u_random(10)
  
  !generating random numbers
  open(11,file='random.dat',form='unformatted')
  do j = 1,n1
    call random_seed()
    do k = 1,n2
      call random_number(u_random(k))
    enddo
    write(11) u_random
  enddo
  close(11)
  
  !write random numbers to files
  open(11,form='unformatted')
  !first 10 numbers
  read(11) u_random
  open(12,file='check1.txt')
  do k = 1,n2
    write(12,*) u_random(k)
  enddo
  close(12)
  !next 10 numbers
  read(11) u_random
  open(12,file='check2.txt')
  do k = 1,*) u_random(k)
  enddo
  close(12)

  close(11)
end

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)