문제

로 이동하려는 다양한 부분의 내 응용 프로그램으로 간단한 스크립트를 허용하지 않는 사람들이 강력한 지식의 c++할 수 있고 구현하는 다양한 기능입니다.

기 때문에 그것의 실시간 응용 프로그램,내가 필요로하는 어떤 종류의 멀티태스킹에 대한 이 스크립트가 있습니다.이상적으로 나는 그것을 원하는 c++응용 프로그램 호출 스크립트 함수는 다음이 계속 실행하는(아래에서는 c++thread)을 때까지 일시 중지 포인트(Wait(x)),또는 그 반환합니다.의 경우에는 그것이 기다리고 있는 상태를 저장을위한 준비하는 스크립트를 다시 시작되는 다음 시간에 응용 후 루프의 기간이 만료되었습니다.

스크립트도 할 수 있어야 호 c++클래스가 방법,이를 사용하여 c++클래스 오히려 일반 래퍼 기능은 c++클래스입니다.

나 보내고 싶지 않아의 거대한 양의 시간을 구현하는 이를 사용하고,기존 스크립트 언어이 선호를 쓰고 나 자신입니다.내가 들었는 파이썬 Lua 에 통합될 수 있습니 c++응용 프로그램지만,나는 어떻게 이것을 달성하기 위해 목표입니다.

  • 스크립트할 수 있어야 합 call c++기능
  • 스크립트할 수 있어야 합"일시 정지할 때"특정 기능이라고 합니다(예.다),그리고 다시 시작하여 다시는 c++스레드
  • 야기--이에 대한 실시간 응용 프로그램과될 수 있습 많은 스크립트를 실행합니다.

수은 대 롤 멀티태스킹 코드를 매우 쉽게 제공하는 스크립트를 저장할 수 있습과 다시 시작(가능하여 다른 스레드가 원래).

도움이 되었습니까?

해결책

중 하나를 사용할 수 있습니다 Lua 또는 파이썬.루아는 더 많은"경량"보다는 python.그것은 작은 메모리 사용량 보다는 파이썬은 그리고 우리의 경험을 통합(사람들의 마일리지는 이 시점에 달라질 수 있습니다).그것은 지원할 수 있습의 무리는 스크립트를 실행하는 동시에.Lua,적어도 지원 멈추지에서 스레드 방식으로 당신은 욕망이다.

습니다.파이썬은 좋은,하지만,my(limited)experience,기 어려웠을 우리를 위해 컴파일을 위한 우리의 다른 환경과 매우 헤비급.그것은(제 생각에)의 단점을 필요로 합니다.일부에 대한되지 않을 수도 문제이지만,필요가 없는 경우 부스(또는 사용하지 않는다),당신을 소개하는 톤의 코드를 얻습니다.파이썬다.만,느린 ftp 를 방.

우리가 내장되어 있 Lua 애플리케이션으로 여러 플랫폼에서(win32,Xbox360 및 PS3).나는 그것에서 작동합니다 64.의 제안을 사용 Luabind 은 좋습니다.우리는 상처를 작성하는 우리 자신의 인터페이스 사이의 두 가지고있는 동안 너무 복잡하지 않는 데,접착제 코드에 당신을 저장 시간을 많이하고 아마도 악화.

중 하나와 솔루션이지만,디버깅할 수 있습니다.우리는 현재 없이 좋은 솔루션을 위해 디버깅 루아지는 스크립트를 포함합니다.이 없으므로 사용되는 파이썬에서 우리의 앱을 말할 수 없는 것을 도구로 사용할 수 있습니다,하지만 몇 년 전에는 풍경이었다 거의 같은 가난하여 디버깅할 수 있습니다.는 스크립팅 기능을 확장하는 좋지만,버그에서 스크립트에 문제가 발생할 수 있습하고 어려울 수 있습니다.

Lua 코드 자체는 종류의 지저분한 작업하는 경우에 당신을 변경할 필요가 있다.우리가 본 버그에서 루아 코드 자체는 추적하기가 어렵습니다.내가 의심되는 부스트::Python 수도 유사한 문제가 발생합니다.

어떤 스크립트 언어,그것은 반드시 해결책에 대한"프로그래머가 아닌"을 확장하는 기능이 있습니다.그것처럼 보일 수도 있지만,당신은 가능성이 바람을 보내고 공정한 양의 시간 중 스크립트의 디버깅 또는 아마도 Lua.

는 모든 말했다,우리는 우리와 매우 행복 Lua 과 운송에 있습니다.우리는 현재는 계획이 없에서 멀리 이동하는 언어입니다.모두 모두,우리가 찾은 그것보다 더 나은 다른 대안 사용할 수 있었던 몇 년 전입니다.Python(및 서식 파일은 새)은 다른 선택이지만,경험을 바탕으로,그들은 보이 더 무거운 손으로 보다 Lua.내가 듣고 싶어에 대해 다른 경험은 있지만.

다른 팁

나는 할 수 있는 살펴보 Luabind.그것은 매우 간단하게 통합하 Lua C++코드에서와 그 반대입니다.그것은 또한 가능하다 노출시키 전체의 C++클래스에 사용되는 Lua.

당신의 최선의 방법은 포함하거나 lua(www.lua.org 다)또는 파이썬(www.python.org).를 사용할 수 있는지 여부를 나타내는 게임에서 산업 모두에 액세스 extern"C"기능이 비교적 쉽게 lua 가장기(기 때문에 데이터 유형을 쉽게 번역하는 사 lua and C).인터페이스 C++개체는 조금 더 많은 작업에서 당신의 끝,하지만 당신이 볼 수 있는 방법을 이렇게 구글,또는 lua 또는 파이썬 토론회.

도움이 되기를 바랍니다!

할 수 있는 확실히 당신이 무엇을 원하는 파이썬. 여기에 문서에 포함 Python 으로 응용 프로그램입니다. 나는 확 Lua 도 작동,난 단지 적은 잘 알고 있습니다.

당신을 설명하는 협력 멀티-태스킹는 스크립트를 호출해야 하는 기능이다.아마도 더 나은 솔루션을 실행하는 스크립트 언어 자신의 스레드에,다음 사용하 뮤텍스 또는 잠금 해제 큐 사이의 인터페이스는 스크립트 언어의 프로그램입니다.는 방법을 버그 스크립트는 전화하지 않 Break()충분히 우리가 우리 동결 프로그램입니다.

살펴보 습니다.Python 라이브러리입니다.그것처럼 보인 그것은 매우 간단하게 무엇을 원합니다.

살펴보 .나는 그것을 사용하여 인터페이스와 파이썬지만,그것을 지원하어 서비스를 제공하고 있습니다.

하나 더 많은 투표에 대한 Lua.그것은 작은,그것은 빠르고,그것은 많은 메모리를 사용한(게임 당신의 최선의 방법은 할당하는 큰 버퍼를 초기화하고 다시 모든 Lua 메모리 할당이 있다).우리가 사용 tolua 를 생성하는 바인딩을,하지만 다른 옵션이 있습니다,그들의 대부분의 많은 작/쉽게 사용할(IMO)보다습니다.python.

으로 디버깅을 위한 Lua(면 이동하는 경로),사용 DeCoda 및되지 않은 나쁘다.척 IDE 지만 그렇다고 실패하면에서는,하지만 첨부할 수 있습니다면 디버깅 프로세스를 visual studio,아래로 이동 호출 스택에서 휴식 점이다.매우 편리한 추적을 위해 아래는 버그입니다.

포함할 수도 있습 C/C++스크립트를 사용하여 Ch.나는 그것을 사용하는 게임 프로젝트에서 일하고 있어요,그리고 그것입니다.멋진 조화의 능력과 적응성이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top