2008年7月2日水曜日

fortranメモ

fortranにおいて

do i=1,10
inner : do j=1,10
・・・
 end do inner
end do

みたいに、ループに名称をつけて制御するとき(特定のループをぬけたり、いろいろ便利)、対応するend doの後ろに名称をつけておかないとエラーになる。そのエラーメッセージが分かりにくい。

サブルーチンの引数を書き忘れているエラーがなぜかコンパイル時にチェックされず、すんなりコンパイル通っちゃうけど、実行するとサブルーチンの呼び出し自体が行われない(プログラムそのものは動く)というトンデモなことが起こることがある。(コンパイラが悪いのか?)見た目はなんとなく動くので性質が悪い。サブルーチンごとにちゃんとimplicit noneを書いておくと、コンパイル時に引っかかりやすいので防ぎやすい。

0 コメント: