私はFortranでコマンドを実行しようとしています。私たちのクラスタは古いコンパイラを使用しているため、execute_command_lineは使用できません。GFortranはsystem()を知らない
succ = system("zip -0q " // zipfile &
// " " // npy_name)
if(succ /= 0) then
write (*,*) "Can't execute zip command"
endif
はのifortのために私は使用することができます:
USE IFPORT
をし、それが正常に動作しますので、私は、システムへの切り替えをしようとしています。 (それはIntelのだから)のgfortranは、このライブラリを知らないので、私はそれをコメントアウトして、私が取得:
~/NPY-for-Fortran/src/npy.f90:52:15:
succ = system("rm " // npy_name)
1
Error: Function ‘system’ at (1) has no IMPLICIT type
にはどうすればいいとして、それは古い&新しいコンパイラで動作するように、コマンドラインでコマンドを実行することができますよくあるのはIntel & GNUですか?あなたは完全な作業環境を必要とする場合、これは全体のsourcefileのである:
https://github.com/MRedies/NPY-for-Fortran.git
私は常にサブルーチン 'call system(..) 'として使用しています。 FWIW。 – agentp
@agentp - あなたはそれを "呼び出す"ことができますし、関数として使用してシステムコマンドの戻り値を返すこともできます。 –
'system'を利用できないようにするには、gfortran 4.1に戻る必要があります。私の優先順位のリストで古い/限定されたバージョンをサポートしないバージョンをサポートします。 – francescalus