Lua 기본 명령어 : // 루아를 사용하기 위한 객체
lua_State* g_pLuaSt;
// 루아 스크립트 활성화
g_pLuaSt = lua_open();
// 루아의 내부라이브러리 생성.
// load Lua libraries
luaopen_base(g_pLuaSt);
luaopen_io(g_pLuaSt);
luaopen_math(g_pLuaSt);
luaopen_string(g_pLuaSt);
luaopen_table(g_pLuaSt);
// 루아에서 사용될 c함수를 정의한다.
// 아래와 같이 정의하면 루아 내부에서 "Lua_TestSample" 함수를 호출할 수 있으며
// 이걸 호출할 경우 c 소스내의 Lua_TestSample 함수가 호출된다.
lua_register(g_pLuaSt, "Lua_TestSample", Lua_TestSample);
// 루아에 정의되어있는 함수를 호출할때 사용.
lua_getglobal(g_pLuaSt, "함수명");
// lua_getglobal로 루아안에 존재하는 함수를 호출할때 함수의 인자로 넘겨줄때 사용.
lua_pushnumber(g_pLuaSt, 숫자);
lua_pushstring(g_pLuaSt, 문자열);
// 루아의 함수를 실행한다. (lua_getglobal로 선언된 함수 실행)
lua_call(g_pLuaSt, 파라메터수, 린턴값);
파라메터수 : lua_pushnumber, lua_pushstring로 파라메터를 push 한 만큼의 수
리턴값 : Lua에 정의되어있는 함수에서 리턴할때 리턴되는 리턴수 보통 1 또는 0
// 루아함수를 호출한후 루아 함수 자체에서 리턴되거나 사용된 스택을 초기화.
// 함수를 호출하거나 했을때 한번씩 사용해서 스택을 초기화 하는게 좋다.
lua_pop(g_pLuaSt, 1);
// 루아어서 c 함수를 호출했을때 몇개의 인자를 가지고 호출했는지 확인하는 함수.
int n = lua_gettop(g_pLuaSt);
// 루아에서 사용된 파라메터를 얻어오는 함수.
lua_tonumber(g_pLuaSt, 인덱스);
lua_tostring(g_pLuaSt, 인덱스);
인덱스 값 :
-1 : 루아에서 리턴한 리턴값.
0 : 함수
1~n : 각 파라메터값.
// 루아 스크립트 종료
lua_close(g_pLuaSt);
lua_State* g_pLuaSt;
// 루아 스크립트 활성화
g_pLuaSt = lua_open();
// 루아의 내부라이브러리 생성.
// load Lua libraries
luaopen_base(g_pLuaSt);
luaopen_io(g_pLuaSt);
luaopen_math(g_pLuaSt);
luaopen_string(g_pLuaSt);
luaopen_table(g_pLuaSt);
// 루아에서 사용될 c함수를 정의한다.
// 아래와 같이 정의하면 루아 내부에서 "Lua_TestSample" 함수를 호출할 수 있으며
// 이걸 호출할 경우 c 소스내의 Lua_TestSample 함수가 호출된다.
lua_register(g_pLuaSt, "Lua_TestSample", Lua_TestSample);
// 루아에 정의되어있는 함수를 호출할때 사용.
lua_getglobal(g_pLuaSt, "함수명");
// lua_getglobal로 루아안에 존재하는 함수를 호출할때 함수의 인자로 넘겨줄때 사용.
lua_pushnumber(g_pLuaSt, 숫자);
lua_pushstring(g_pLuaSt, 문자열);
// 루아의 함수를 실행한다. (lua_getglobal로 선언된 함수 실행)
lua_call(g_pLuaSt, 파라메터수, 린턴값);
파라메터수 : lua_pushnumber, lua_pushstring로 파라메터를 push 한 만큼의 수
리턴값 : Lua에 정의되어있는 함수에서 리턴할때 리턴되는 리턴수 보통 1 또는 0
// 루아함수를 호출한후 루아 함수 자체에서 리턴되거나 사용된 스택을 초기화.
// 함수를 호출하거나 했을때 한번씩 사용해서 스택을 초기화 하는게 좋다.
lua_pop(g_pLuaSt, 1);
// 루아어서 c 함수를 호출했을때 몇개의 인자를 가지고 호출했는지 확인하는 함수.
int n = lua_gettop(g_pLuaSt);
// 루아에서 사용된 파라메터를 얻어오는 함수.
lua_tonumber(g_pLuaSt, 인덱스);
lua_tostring(g_pLuaSt, 인덱스);
인덱스 값 :
-1 : 루아에서 리턴한 리턴값.
0 : 함수
1~n : 각 파라메터값.
// 루아 스크립트 종료
lua_close(g_pLuaSt);
'프로그램언어 > Lua' 카테고리의 다른 글
Lua 배열을 손쉽게 (0) | 2008.07.22 |
---|---|
LuaApi (0) | 2008.07.22 |
C++ 함수를 lua에서 호출하는 방법 (0) | 2008.07.22 |