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