사용자 도구

사이트 도구


kb:luaapiuserdata

LuaApi/UserData

유저 데이터 다루기

lua_newuserdata

void *lua_newuserdata (lua_State *L, size_t size);

해당하는 크기의 메모리를 가진 full userdata를 생성해서 스택의 맨 위에다 푸쉬한 다음, 그 메모리 블록의 주소를 반환한다.

lua_pushlightuserdata

void lua_pushlightuserdata (lua_State *L, void *p);

스택에다 light userdata, 즉 포인터를 푸쉬한다.

lua_isuserdata and lua_islightuserdata

int lua_isuserdata      (lua_State *L, int index);
int lua_islightuserdata (lua_State *L, int index);

해당하는 인덱스의 아이템이 full 또는 light userdata인지의 여부를 반환한다.

lua_touserdata

void *lua_touserdata  (lua_State *L, int index);

해당하는 인덱스의 아이템이 full userdata인 경우 메모리 블럭의 주소를 반환하고, light userdata인 경우, 포인터 값을 반환한다. 인덱스가 잘못되었거나, 해당 인덱스의 아이템이 userdata가 아닌 경우에는 NULL을 반환한다.


kb/luaapiuserdata.txt · 마지막으로 수정됨: 2014/11/07 10:01 (바깥 편집)