Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用system()的简单fortran程序崩溃_Fortran_Fortran90 - Fatal编程技术网

使用system()的简单fortran程序崩溃

使用system()的简单fortran程序崩溃,fortran,fortran90,Fortran,Fortran90,此程序在ifort上与SIGSEGV一起崩溃 program x character(len=1024) :: foo integer:: ret foo = 'ls' call system(foo, ret) end program gdb: ifort—版本 这是一个bug还是一个功能?好吧,这在我的机器上运行(iPort,xp sp3) 也有 CHARACTER(LEN=1024) :: FOO INTEGER :: RET FOO = 'd

此程序在ifort上与SIGSEGV一起崩溃

program x
   character(len=1024) :: foo 
   integer:: ret 

   foo = 'ls'
   call system(foo, ret)
end program
gdb:

ifort—版本


这是一个bug还是一个功能?

好吧,这在我的机器上运行(iPort,xp sp3)

也有

  CHARACTER(LEN=1024) :: FOO
  INTEGER :: RET

  FOO = 'dir'
  CALL SYSTEM(FOO, RET)
  READ(*,*)

  END

也适用于您正在使用的同一iPort xp sp2。

嗯,这适用于我的机器(iPort,xp sp3)

也有

  CHARACTER(LEN=1024) :: FOO
  INTEGER :: RET

  FOO = 'dir'
  CALL SYSTEM(FOO, RET)
  READ(*,*)

  END

也适用于您正在使用的同一iPort xp sp2。

如果复制您的代码,我可以重现您看到的错误(Linux,iPort 11.0 20090131)。然而,对《英特尔fortran编译器手册》的检查表明,它是一个函数,而不是一个子例程。如果我将代码修改为:

  RET = SYSTEM(FOO)

然后它成功地工作。

如果复制您的代码(Linux,ifort 11.0 20090131),我可以重现您看到的错误。然而,对《英特尔fortran编译器手册》的检查表明,它是一个函数,而不是一个子例程。如果我将代码修改为:

  RET = SYSTEM(FOO)
然后它成功地工作了

  RET = SYSTEM(FOO)
program x
    character(len=1024) :: foo
    integer             :: ret

    foo = 'ls'
    ret = system(foo)
end program x