사용자 도구

사이트 도구


kb:luaapiuserdata

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

kb:luaapiuserdata [2014/11/07 10:01] (현재)
줄 1: 줄 1:
 +====== LuaApi/​UserData ======
 +유저 데이터 다루기
 +
 +===== lua_newuserdata =====
 +<code cpp>
 +void *lua_newuserdata (lua_State *L, size_t size);
 +</​code>​
 +해당하는 크기의 메모리를 가진 full userdata를 생성해서 스택의 맨 위에다 푸쉬한 다음, 그 메모리 블록의 주소를 반환한다.
 +
 +
 +===== lua_pushlightuserdata =====
 +<code cpp>
 +void lua_pushlightuserdata (lua_State *L, void *p);
 +</​code>​
 +스택에다 light userdata, 즉 포인터를 푸쉬한다.
 +
 +
 +===== lua_isuserdata and lua_islightuserdata =====
 +<code cpp>
 +int lua_isuserdata ​     (lua_State *L, int index);
 +int lua_islightuserdata (lua_State *L, int index);
 +</​code>​
 +해당하는 인덱스의 아이템이 full 또는 light userdata인지의 여부를 반환한다.
 +
 +
 +===== lua_touserdata =====
 +<code cpp>
 +void *lua_touserdata ​ (lua_State *L, int index);
 +</​code>​
 + ​해당하는 인덱스의 아이템이 full userdata인 경우 메모리 블럭의 주소를 반환하고,​ light userdata인 경우, 포인터 값을 반환한다. 인덱스가 잘못되었거나,​ 해당 인덱스의 아이템이 userdata가 아닌 경우에는 NULL을 반환한다.
 +
 +----
 +  * see also [[LuaApi]]
  
kb/luaapiuserdata.txt · 마지막으로 수정됨: 2014/11/07 10:01 (바깥 편집)