E2201 ファイル中に定義されるグローバルデータが多すぎる (C++)

提供: RAD Studio
移動先: 案内検索

コンパイラのエラーと警告(C++):インデックス への移動

グローバルデータ宣言の合計が 64K バイトを超えています。これには,DGROUP に保存されるすべてのデータが含まれます(すべてのグローバル変数,リテラル文字列,静的ローカル変数)。

解決策

大きすぎる配列の宣言がないかどうかをチェックします。DGROUP から変数を削除することもできます。

それには,次のようにします。

  • 変数を automatic として定義します。これで,スタック領域が使用されます。
  • calloc,malloc,farmalloc を使用して,変数にヒープからメモリを動的に割り当てます。この場合は,ポインタを使用する必要があります。

リテラル文字列も DGROUP に置かれます。リテラル文字列を独自のセグメントに抽出する方法については,BBS から farstr.zip を入手してください。