Skip to content

lua_gc

ガーベジコレクタを制御します。

[-0, +0, e]

c
int lua_gc (lua_State *L, int what, int data);

説明

ガーベジコレクタを制御します。

この関数はwhatパラメータの値に応じて、いくつかのタスクを実行します:

  • LUA_GCSTOP: ガーベジコレクタを停止します。
  • LUA_GCRESTART: ガーベジコレクタを再起動します。
  • LUA_GCCOLLECT: 完全なガーベジコレクションサイクルを実行します。
  • LUA_GCCOUNT: Luaが使用中のメモリの現在の量(キロバイト単位)を返します。
  • LUA_GCCOUNTB: Luaが使用中のメモリの現在のバイト数を1024で割った余りを返します。
  • LUA_GCSTEP: ガーベジコレクションのインクリメンタルステップを実行します。ステップの「サイズ」はdata(大きい値はより多くのステップを意味します)によって非指定の方法で制御されます。ステップサイズを制御したい場合は、dataの値を実験的に調整する必要があります。この関数は、ステップがガーベジコレクションサイクルを終了した場合に1を返します。
  • LUA_GCSETPAUSE: dataをコレクタの一時停止の新しい値として設定します。関数は一時停止の前の値を返します。
  • LUA_GCSETSTEPMUL: dataをコレクタのステップ乗数の新しい値として設定します。関数はステップ乗数の前の値を返します。

サンプルコード

c
lua_gc(L, LUA_GCCOLLECT, 0);

このコードは、Luaのガーベジコレクションを強制的に実行します。

互換性

  • Lua5.1

関連項目

  • LUA_GCSTOP
  • LUA_GCCOUNT