在 Mac 10.8.2 中,使用 gfortran 4.7.2 编译以下代码:
program test
write(*, *) isatty(6)
end program test
程序只是不响应也不返回。任何的想法?
我不确定你为什么没有输出,它在 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