ㅇ lua state
lua state를 이용하여 C++과 루아 사이의 통신을 한다. ==> 함수나 코드의 입력과 결과 관리 역시 lua state를 이용
lua state는 Stack으로 관리 한다. C++에서 lua state에 값을 넣으려면 정해진 방식을 통해야 한다.
이를 위해 사용하는 lua push 함수들은 다음과 같다.
void lua_pushnil( lua_State *L ); // nil을 스택에 넣는 함수
void lua_pushnumber( lua_State *L, lua_Number n ); // 숫자값을 스택에 넣는다.
void lua_pushlstring( lua_State *L, const char *s, size_T l); /// 입력한 길이 만큼 스택에 넣는다.
void lua_pushstring( lua_State *L, const char *s ); // null로 종료되는 문자영을 스택에 넣는다.
void lua_pushboolean( lua_State *L, int b ); /// 부울 값을 스택에 넣는다.
이와 반대로 꺼내면 다음과 같은 함수들을 사용한다.
lua_Number lua_tonumber ( lua_State *L, int idx );
lua_Integer lua_tointerger( lua_State *L, int idx );
int lua_toboolean( lua_State *L, int idx );
const char *lua_tolstring( lua_State *L, int idx, size_t *len );
push와 반대되는 기능을 수행하지만 입력인자로 index값을 받는다. 제일 처음에 입력된 값의 index는 1로 표현되며 그 다음 값은 2, 3, .. 이 된다.
가장 최근에 입력된 값은 -1로 표현되며 그 다음값은 -2, -3, ... 으로 표현 가능하다
이 함수들은 lua.h에 정의되어 있다. 선언된 위치를 보면 나열된 함수 이외에도 다른 변수형도 지원한다는 것을 알 수 있다.
[ lua_input.txt ]
buffer = 1024
version = "1.0.2"
소스 다운
불러올 파일에 주석파일이나 계산 같은 문법도 넣어 줄수가 있다.
ex) input.txt
-- buffer sizie
buffer = 1024 / 2
-- version 명
version = "1.0.2"
lua state를 이용하여 C++과 루아 사이의 통신을 한다. ==> 함수나 코드의 입력과 결과 관리 역시 lua state를 이용
lua state는 Stack으로 관리 한다. C++에서 lua state에 값을 넣으려면 정해진 방식을 통해야 한다.
이를 위해 사용하는 lua push 함수들은 다음과 같다.
void lua_pushnil( lua_State *L ); // nil을 스택에 넣는 함수
void lua_pushnumber( lua_State *L, lua_Number n ); // 숫자값을 스택에 넣는다.
void lua_pushlstring( lua_State *L, const char *s, size_T l); /// 입력한 길이 만큼 스택에 넣는다.
void lua_pushstring( lua_State *L, const char *s ); // null로 종료되는 문자영을 스택에 넣는다.
void lua_pushboolean( lua_State *L, int b ); /// 부울 값을 스택에 넣는다.
이와 반대로 꺼내면 다음과 같은 함수들을 사용한다.
lua_Number lua_tonumber ( lua_State *L, int idx );
lua_Integer lua_tointerger( lua_State *L, int idx );
int lua_toboolean( lua_State *L, int idx );
const char *lua_tolstring( lua_State *L, int idx, size_t *len );
push와 반대되는 기능을 수행하지만 입력인자로 index값을 받는다. 제일 처음에 입력된 값의 index는 1로 표현되며 그 다음 값은 2, 3, .. 이 된다.
가장 최근에 입력된 값은 -1로 표현되며 그 다음값은 -2, -3, ... 으로 표현 가능하다
이 함수들은 lua.h에 정의되어 있다. 선언된 위치를 보면 나열된 함수 이외에도 다른 변수형도 지원한다는 것을 알 수 있다.
[ lua_input.txt ]
buffer = 1024
version = "1.0.2"
소스 다운
불러올 파일에 주석파일이나 계산 같은 문법도 넣어 줄수가 있다.
ex) input.txt
-- buffer sizie
buffer = 1024 / 2
-- version 명
version = "1.0.2"
'[ C/ C++ 프로그래밍 ] > [ 루아 ]' 카테고리의 다른 글
[ 루아 ] 왜 루아인가? (0) | 2010.07.27 |
---|---|
[ 루아 ] C++ 연동 - 루아에서 C++ 호출하기 (0) | 2010.07.26 |
[ 루아 ] C++ 연동 - 1 (2) | 2010.07.25 |
[ 루아 ] 코루틴 (1) | 2010.07.24 |
[ 루아 ] 클래스 캡슐화 (1) | 2010.07.22 |