デバッグfortranコードのピットを記録

577 ワード

ピット1 Fortran runtime error:End of record
文字列に数字を書き込むと、文字列の長さを超えた数字のフォーマットに上記のエラーが発生します.もちろん、このエラーの原因はそれだけではありませんが、私はこの状況に遭遇したので、記録します.
character(len=10)   :: abcd
write(abcd, '(F10.2)') 11.111

ピット2 intel fortranでは動的長さの文字列は使用できません
#      gfortran     
character(MLEN)   :: abcd
#     intel fortran 12.0             ,     ,             
character(len=:), allocatable  :: abcd

ピット3 SIGSEGV,segmentation fault occurred
一回り調べてみると、Cの祖師爺は次のコードを使って、無制限に設定すると言っていました
ulimit -s unlimited