計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
AIX XL Fortran コンパイラでコンパイルはできるが「メモリが不足しています」と言われて実行できない
プログラム中の変数, 特に配列が, 大容量のメモリを必要としている場合に起きる.
どのくらいのメモリを必要とするプログラムなのかは size コマンドで確認できる(UNIX共通).
例 :
% size program
program: 20 + 900 + 124 + 116 + 276 + 396 + 462 = 2294
[計2294バイトを利用する]
もしこの結果が 256MB (256×1000×1024バイト) を越えるようだと, 実行時に「メモリが不足しています」と言われて実行できなくなる.
このエラーは, コンパイル(実際にはリンク)のときに最大メモリ使用量を教えてやることで回避できる.
それには -bmaxdata:メモリ使用量(バイト) というオプションを f77 に渡す.
例 :
% f77 -bmaxdata:1000000000 program.f
[約1GBのメモリを予約する]
計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)