E2201 ファイル中に定義されるグローバルデータが多すぎる (C++)
グローバルデータ宣言の合計が 64K バイトを超えています。これには,DGROUP に保存されるすべてのデータが含まれます(すべてのグローバル変数,リテラル文字列,静的ローカル変数)。
解決策
大きすぎる配列の宣言がないかどうかをチェックします。DGROUP から変数を削除することもできます。
それには,次のようにします。
- 変数を automatic として定義します。これで,スタック領域が使用されます。
- calloc,malloc,farmalloc を使用して,変数にヒープからメモリを動的に割り当てます。この場合は,ポインタを使用する必要があります。
リテラル文字列も DGROUP に置かれます。リテラル文字列を独自のセグメントに抽出する方法については,BBS から farstr.zip を入手してください。