2017-02-26 3 views
1

나는 모든 require 몇 가지 공통 함수를 정의하는 몇 개의 루아 스크립트가 있습니다. 이것은 C에서 동일한 코드를 반복해서 다시 컴파일하는 헤더 시스템과 유사한 상황을 만듭니다. 이 스크립트는 런타임에 컴파일되므로 바람직하지 않습니다. 이미 스크립트가 컴파일 된 후에 바이너리를 캐시 할 시스템이 있지만 require d 개의 스크립트와이를 별도로 사용하는 스크립트를 컴파일하는 방법이 있는지 궁금합니다.Lua 바이너리 결합하기

+0

'require'는 컴파일 후 스크립트를 실행하고 (컴파일 된 스크립트가 호출되고 명령문이 로직 흐름에있는 경우) 실행되는 함수입니다. @Paul에 의해 설명 된대로 다른 어떤 것도 컴파일 될 필요는 없습니다. 종종 단일 문자열 함수 호출 구문이 사용되어 함수 호출처럼 보이지는 않지만 그렇습니다. –

답변

3

require를 호출하는 루아 스크립트가 같은 상태에서 실행되면 반환되는 값이 package.loaded 테이블에 캐시되므로 "필수"스크립트는 한 번만 실행됩니다. 다른 Lua 상태에서 실행되는 스크립트에서 스크립트를 "요구"하는 경우 스크립트를 결합 및 사전 컴파일 한 다음 한 번로드 할 수 있습니다. 이 작업을 수행하려면 luac을 사용할 수 있습니다.

관련 문제