C ++에서 Lua를 사용하기 위해 권장되는 라이브러리는 무엇입니까? [닫은]


13

현재 2D 게임 엔진에 Lua 스크립팅을 통합하는 방법을 계획 중이며 C ++ 클래스 및 객체를 노출시키는 데 가장 적합한 솔루션으로 바로 가고 싶습니다.

나는 이것을 읽었다 (도움이 도움이된다면) : http://lua-users.org/wiki/BindingCodeToLua

추천 할 수있는 더 나은 스크립팅 언어가 있다면 그것을 찾으십시오 .D

모든 도움을 환영합니다. 감사를 시작하기위한 최상의 솔루션을 선택해야합니다.

답변:


4

스크립팅 언어의 기본 품질이 쉬운 바인딩이면 AngelScript를 사용해보십시오 . 프록시 함수를 작성할 필요없이 등록 된 함수를 직접 호출 할 수 있으며 다양한 컴파일러의 호출 규칙을 지원합니다. 언어 자체는 c / c ++와 유사하며, 이는 좋거나 나쁠 수 있습니다.



4

합리적으로 일반적인 바인딩을 수행하는 한 LuaBind 는 필요한 모든 작업을 수행합니다. 바인딩 클래스와 함수는 함수 당 한 줄로 처리되는 경향이 있습니다. 당신은 예를 원하는 경우, 여기에 내가 LuaBind 인터페이스의 시작을위한 모듈 (L에 대한 (보기)에서 작업했던 게임 엔진에서 해당 파일 DontKillMeBro는 <> 나는 나를 수 있도록 임시 변통으로 만들었다 약간의 시스템입니다 특정 민감한 물체에 대한 물체의 정확한 파괴 시간.)

좀 더 복잡한 것을 원한다면 실제 Lua API를 사용해야 할 것입니다. 운 좋게도 Lua API는 상당히 간단합니다.


1

우리는 Pioneer에 OOLua 를 사용하고 있습니다. Lua "클래스"를 C ++ 클래스에 바인딩하는 데 사용하는 매크로 더미를 제공합니다. 그것은 상당한 힘을 얻었지만 꽤 간단합니다. 나는 다른 것을 사용하지 않았으므로 비교 방법에 대해서는 언급 할 수 없습니다. 다음은 입니다.


1

Nuclex의 사전 컴파일 된 라이브러리 를 살펴보고 LuaBind 용 파일을 포함시킵니다. (즉, VS2008로 작업하는 경우)

LuaBind를 사용하려면 Boost 라이브러리와 도구를 사용하여 빌드해야하므로이 패키지를 사용하면 귀중한 시간을 절약 할 수 있습니다 (아마도 두통이있을 수 있습니다). 당신이하고있는 일을 안다면 루아를 한 시간 안에 달릴 수 있다고 말하고 싶습니다.

약간의 성능 향상 을 원한다면 기본 Lua dll을 LuaJIT dll 로 변경하는 것도 고려할 수 있습니다 . 라이브러리를 컴파일하고 기본 프로젝트에서 링크하는 lib / dll을 바꾸는 것만으로도 매우 쉽습니다.

그것으로, 행운을 빌어 요!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.