デバッグ用
配列チェック (Check Array Bounds)
配列を壊していないかチェックする。
-CB
Traceback
異常終了時に実行が停止した場所を表示する。
-traceback
Floating Exception
たとえば、0で割るなど、数学的におかしなことをしたときに実行を止める。
-fpe0
変数の型の変換
強制的に倍精度で計算
-r8
バイトスワップ
ビッグエンディアンデータを読み、ビッグエンディアンデータを書き込む例。 プログラムの全てのファイルが対象。
-convert big_endian
ifort -convert big_endian sample.fbig endianは大型計算機でよく使われている。一方、little endianはパソコンでよく使われている。
netCDFライブラリ
注意事項
ライブラリを指定するオプションはコンパイラオプションに一番最後に置く
(これを怠ると、リンクできない、というエラーがでる場合がある)
バージョン4の場合、-lnetcdffの指定を忘れない(末尾の2つ目のfに注意)。-lnetcdfだけではサブルーチンが見つかりません、というエラーがでる。
例:
/usr/local/にnetCDFライブラリがインストールされているとする(実際には使用しているマシンに依存する)。
Version 3.6
ifort prog.f90 -o prog.exe -L/usr/local/lib -lnetcdf -I/usr/local/include
/usr/local/lib/libnetcdf.aをリンクし
/usr/local/include/netcdf.incをインクルードする
Version 4
ifort prog.f90 -o prog.exe -L/usr/local/lib -lnetcdf -lnetcdff
-I/usr/local/include
例
$ ifort prog.f90 -o prog.exe -L/usr/local/netcdf-4.1.3/lib -lnetcdf -lnetcdff -I/usr/local/netcdf-4.1.3/include
デバッグ用
配列チェック (Check Array Bounds)
配列を壊していないかチェックする。
-fbounds_check
Traceback
異常終了時に実行が停止した場所を表示する。
-fbacktrace
Floating Exception
たとえば、0で割るなど、数学的におかしなことをしたときに実行を止める。
-ffpe-trap=invalid,zero,overflow