LuaJitでメモリ不足エラーが発生し続けます。スタックまたはヒープのサイズを増やすにはどうすればよいですか?
ありがとう
LuaJitでメモリ不足エラーが発生し続けます。スタックまたはヒープのサイズを増やすにはどうすればよいですか?
ありがとう
おもちゃの例を除いて、私自身はLuaJITを使用していません。しかし、他の誰もまだ答えを提供していないので...
ドキュメントのスキミングから、LuaJITは標準のコルーチンライブラリへのCoco拡張機能に依存しています。Cocoによって導入された変更の1つは、新しいコルーチンを作成する関数が、スタックサイズを指定するオプションの引数を取るようになったことです。
Cocoドキュメントの引用:
coro = coroutine.create(f [, cstacksize])
func = coroutine.wrap(f [, cstacksize])
オプションの引数
cstacksize
は、コルーチンに割り当てるCスタックのサイズを指定します。
cstacksize
が指定されていないか、nil
またはゼロの場合、デフォルトのスタックサイズが使用されます。cstacksize
の場合、Cスタックは割り当てられません-1
。- その他の値は最小サイズに切り上げられます(つまり
1
、最小サイズを取得するために使用します)。
coroutine.cstacksize([newdefault])
デフォルトのCスタックサイズを設定する新しい関数と、それに対応するCAPIへの変更もあります。
さらに、luaconf.hのLuaJITバージョンには多数のコンパイル時構成オプションがあります。デフォルトを設定する何かがそこにあるかもしれません。Windowsでは、実行可能ファイルの基本スタックのリンク時間設定もあります。これは、アプリケーションの.DEFファイルのSTACKSIZEステートメントを介してMSVCのLINK.EXEによって設定されます。