我试图在Fortran中执行一个命令,因为我们的集群使用旧的编译器,所以我不能使用execute_command_line。所以我想切换到系统:GFortran不知道系统()
succ = system("zip -0q " // zipfile &
// " " // npy_name)
if(succ /= 0) then
write (*,*) "Can't execute zip command"
endif
对于IFort我可以使用:
USE IFPORT
,它工作正常。 GFortran不知道这个库(因为它是英特尔的),所以我把它注释掉,然后我得到:
~/NPY-for-Fortran/src/npy.f90:52:15:
succ = system("rm " // npy_name)
1
Error: Function ‘system’ at (1) has no IMPLICIT type
我如何在命令行下执行命令,使得它适用于旧&新的编译器,如以及英特尔& GNU?如果你需要一个完整的工作环境,这是整个的资源文件:
https://github.com/MRedies/NPY-for-Fortran.git
我一直使用它作为子程序,'call system(..)'。 FWIW。 – agentp
@agentp - 你可以“调用”它,或者你可以用它作为函数返回系统命令的返回值。 –
在系统不可用之前,您必须回到gfortran 4.1。在我的优先级列表中支持一个旧/有限的版本不会太高。 – francescalus