種類: コンパイル時のエラー。
原因: 筆者の事例では、main関数のサイズが大きすぎました。
対策: mainの内容を整理して、なるべく多くの部分を別個の関数として独立させました。
1つの関数に含まれる、行(命令)の数が多すぎる場合のエラーです。
実際にエラーと判定される行数の基準は、プログラムの内容によって異なります(少なくとも、ユーザー側からはそう見えます)。
こうした行数の制限は、mainだけでなく、すべての関数に共通するものです。
このエラーは、表面的にはlcc.exeのエラーのように見えますが、実際は、その内部コマンドであるcg86.exeのエラーです。
ほかにも同名のエラーがないとはいえないので、混同しないように注意してください。
当初の筆者は、このエラーをlld.exeの「Out of memory」と取り違えていました。 とかそういう話。
main関数の大きさとエラーの関係を調べる実験、4つ。