Renesas Synergy™

FAQ 1011725 : 以下のエラーメッセージが出力されました。このエラーの原因と回避方法を教えてください。 C3021 (F) memory overflow

Q : 質問

以下のエラーメッセージが出力されました。このエラーの原因と回避方法を教えてください。  

C3021 (F) memory overflow


A : 回答

本エラーは、コンパイラの処理に必要なメモリ容量を、使用PC上で 確保できなくなった際に出力されます。
そのため、OSのメモリ使用量が増えた場合や、最適化を実施する過程で 確保するメモリ容量が不足することなどにより、この上限を超えたことが 原因として考えられます。
なお、SHCコンパイラがアプリケーションとして使用できる メモリ容量の上限は、2Gバイトです。

本エラーは、以下のいずれかの方法で回避できる可能性があります。

  1. デバッグ情報を出力しない
    -debugオプションを指定しないでください。
  2. すべての外部変数を最適化対象外にする。
    -global_volatile=1オプションを指定してください。
    最適化の解析による負荷を軽減できる可能性があります。
  3. 最適化範囲を分割する
    -noscopeを指定しないでください。
    -noscopeが指定されている場合、サイズの大きい関数に対して 最適化範囲を分割せずにコンパイルするため、 メモリを多く使用している可能性があります。
  4. 本エラーが発生しているファイル、関数を分割する。

 

 

適用製品

SuperHファミリ用C/C++コンパイラパッケージ
他にご質問がございましたら、リクエストを送信してください