在Mac 10.8.2中,使用gfortran 4.7.2编译以下代码:
program test
write(*, *) isatty(6)
end program test
该程序只是没有响应而没有返回。有什么想法吗?
答案 0 :(得分: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