[ 참고 및 출처 ]
루아를 이용한 민첩하고 효과적인 게임 개발
루아에서 사용자가 정의한 C++ 함수를 호출할려면 lua_register 함수를 이용하면 된다.
void lua_register ( lua_State *L, const cha* name, lua_CFunction f );
name : 루아에서 쓰일 함수의 이름
f : C++에서 정의한 함수 이름
※ 루아는 모든 함수 호출에서 각각 함수에 대한 lua state를 사용한다.
함수로 넘어가는 인수가 여럿이어도 C++쪽 함수 정의부에서는 lua_State 값 한 개의 인수만 받아오면 된다.
lua state의 stack에서 값을 꺼내오는 함수들은 lua_tonumber, lua_tointeger, ... 등과 같음 함수들을 이용해서 원하는 개수만큼 인수를 꺼내온다.
그리고 원하는 연산을 끝낸 후에, lua push 함수를 이용해서 값을 lua state의 stack에 넣는다. 마지막으로 반환값으로 결과값의 개수를 반환해주면 모든게 끝이다.
소스 다운 :
'[ C/ C++ 프로그래밍 ] > [ 루아 ]' 카테고리의 다른 글
[ 루아 ] 스크립팅 언어란? (2) | 2010.07.27 |
---|---|
[ 루아 ] 왜 루아인가? (0) | 2010.07.27 |
[ 루아 ] C++ 연동 - 2 -루아를 이용한 환경설정 - (1) | 2010.07.26 |
[ 루아 ] C++ 연동 - 1 (2) | 2010.07.25 |
[ 루아 ] 코루틴 (1) | 2010.07.24 |