低レベルなヒトの覚え書き

●LSI C-86のエラー


1. 「out of memory」

種類: コンパイル時のエラー。
原因: 筆者の事例では、main関数のサイズが大きすぎました。
対策: mainの内容を整理して、なるべく多くの部分を別個の関数として独立させました。

[解説]

1つの関数に含まれる、行(命令)の数が多すぎる場合のエラーです。
実際にエラーと判定される行数の基準は、プログラムの内容によって異なります(少なくとも、ユーザー側からはそう見えます)。
こうした行数の制限は、mainだけでなく、すべての関数に共通するものです。
このエラーは、表面的にはlcc.exeのエラーのように見えますが、実際は、その内部コマンドであるcg86.exeのエラーです。 ほかにも同名のエラーがないとはいえないので、混同しないように注意してください。

[個人的な体験談]

当初の筆者は、このエラーをlld.exeの「Out of memory」と取り違えていました。 とかそういう話。

[実験]

main関数の大きさとエラーの関係を調べる実験、4つ。

[補足]と[余談]

→トップ , →次(lsic2)


R.6: 2006/08/01
Copyright (C) 2005,2006 A.Satoshi