デバッグfortranコードのピットを記録
577 ワード
ピット1 Fortran runtime error:End of record
文字列に数字を書き込むと、文字列の長さを超えた数字のフォーマットに上記のエラーが発生します.もちろん、このエラーの原因はそれだけではありませんが、私はこの状況に遭遇したので、記録します.
ピット2 intel fortranでは動的長さの文字列は使用できません
ピット3 SIGSEGV,segmentation fault occurred
一回り調べてみると、Cの祖師爺は次のコードを使って、無制限に設定すると言っていました
文字列に数字を書き込むと、文字列の長さを超えた数字のフォーマットに上記のエラーが発生します.もちろん、このエラーの原因はそれだけではありませんが、私はこの状況に遭遇したので、記録します.
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