0

在 Mac 10.8.2 中,使用 gfortran 4.7.2 编译以下代码:

program test
    write(*, *) isatty(6)
end program test

程序只是不响应也不返回。任何的想法?

4

1 回答 1

1

我不确定你为什么没有输出,它在 Linux 上使用 gfortran 4.7.2 对我来说很好。您可以尝试编写自己的 C 接口是否isatty有任何不同:

program test
  implicit none

  interface
    function my_isatty(fd) bind(C, name = 'isatty')
      use, intrinsic :: iso_c_binding, only: c_int
      integer(c_int)        :: my_isatty
      integer(c_int), value :: fd
    end function
  end interface

  ! Standard output should be at 1 in C:
  print*, my_isatty(1) 
end program test

我得到以下输出:

$ ./a.out
    1
$ ./a.out > b && cat b
    0
于 2013-01-16T16:32:23.873 回答