【问题标题】:POS=... when using pgi compilersPOS=... 使用 pgi 编译器时
【发布时间】:2013-01-24 19:24:42
【问题描述】:

我正在尝试更新/重新编写一堆代码,这些代码应该能够被所有主要的 fortran 编译器编译。我可以访问ifortgfortran 以及pgi 编译器(版本7.2.5)的一个相对旧的(?)版本。该代码可以使用 gfortran 和 ifort 正常编译,但 portland group 的编译器会抱怨如下一行:

open(unit=82,file=fname,status=status,form='UNFORMATTED',access='STREAM')
write(82,POS=file_pos) iheader    !<= mpif90 complains here

我实际上使用的是mpif90,它是pgf90 的一个包装器,但这应该没什么区别。 (iheader 只是一个包含 20 个元素的整数数组)。波特兰组编译器是否支持更现代的版本?

【问题讨论】:

  • 你确定这个版本支持正确的流访问吗?这是 Fortran 2003 的一个功能。
  • @VladimirF -- 我承认这一点。编译器抱怨POS=... 行的语法,但我想这个问题可能比这更笼统。波特兰集团甚至支持f2003标准中引入的流IO吗?

标签: fortran pgi


【解决方案1】:

看看PGI fortran reference,看起来他们仍然不支持流 IO(它没有在允许的访问字符串中列出,第 69 页)。我想我需要重写那个代码......如果他们不支持流 IO,那么他们可能也不支持POS=...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-10
    • 2016-02-12
    • 2020-10-22
    • 1970-01-01
    • 1970-01-01
    • 2018-04-23
    • 1970-01-01
    相关资源
    最近更新 更多