U E D R S I H C RSS
ID
Password
Join
고위직의 입후보자를 조반용 시리얼을 사고 팔 듯 사고 팔 수 있다고 생각한다면, 그것은 민주주의에 대한 모욕이다. ―애들레이 스티븐슨(美 정치가, 1900∼1965)


icon

Contents

1 lua_load
  • lua C API 함수 레퍼런스 정리.

1 lua_load #


typedef const char * (*lua_Chunkreader) (lua_State *L, void *data, size_t *size);

int lua_load (lua_State *L, lua_Chunkreader reader, void *data, const char *chunkname);
루아 청크를 로딩하기위해서는 lua_load()를 사용하면 됩니다.

lua_load()의 반환값은 다음과 같습니다.
  • 0 : 오류없음
  • LUA_ERRSYNTAX : 컴파일중에 문법오류 발견.
  • LUA_ERRMEM : 메모리 할당 오류.

오류가 없다면 lua_load()는 컴파일된 청크를 루아 함수로 스택 top에 적재합니다. 오류가 발생한 경우에는 오류 메세지가 적재됩니다.

lua_load()는 자동으로 청크가 텍스트 형태인지, 이진 형태인지 여부를 감지하여 알맞게 로딩합니다. (luac 소스를 참조하세요)

lua_load()는 청크를 읽어들이기 위해 사용자 정의 읽기 함수를 사용합니다. 청크의 일부분을 매번 읽어들일 때마다 lua_load()는 이 읽기 함수를 호출합니다. (이때 data 매개변수에 읽어들인 일부분을 넘기게 됩니다. 읽기 함수는 반드시 다음에 읽어들일 새로운 청크 일부분의 포인터를 반환해야하며 size 매개변수에 블럭 크기를 설정해주어야합니다. 청크를 모두 읽어들였다면 읽기 함수에서는 NULL을 반환하면 됩니다. 0보다 크기만 하다면 청크의 일부분을 읽어들이는 크기는 제한이 없습니다.

현재 루아버전에서의 구현에서는 읽기 함수는 어떠한 루아함수도 호출할 수 없습니다. 이것을 보증하기위해서 언제나 L (루아 상태 매개변수)는 NULL이 넘어옵니다.

chunkname 매개변수는 오류메세지와 디버그 정보를 위해 사용됩니다. (메뉴얼 4번 섹션 참조)

lua_load() 사용 예제와 화일과 문자열로부터 청크를 바로 읽어들이기 위한 보조구현 함수들을 알아보려면, 보조 라이브러리 소스(lauxlib.c) 를 참조하시기 바랍니다.


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2010-10-28 12:42:52
Processing time 0.5290 sec