2010-07-18 7 views
15

내 C++ 라이브러리를 스크립팅 가능하게 만들기 위해 SpiderMonkey을 삽입하려고합니다. 이를 확장 가능하게 만들기 위해서는 라이브러리의 C++ 기본 클래스를 상속하는 새로운 클래스 (JavaScript)를 정의 할 수 있어야합니다.JavaScript에서 C++ 클래스를 상속하는 방법은 무엇입니까?

SpiderMonkey를 사용하여 어떻게하는지 보여주는 예가 있습니까?

+0

http://egachine.berlios.de/embedding-sm-best-practice/embedding-sm-best-practice.html#id2510183? – smerlin

+0

귀하의 의견을 보내 주셔서 감사합니다. 이전에이 기사를 읽었지만 내 질문에 대한 해결책을 찾지 못했습니다. 제 질문은 기존 C++ 클래스의 매핑 상속을 매핑하지 않습니다. 내 경우에는 자바 스크립트 코드에서 기존 C++ 클래스의 하위 클래스를 만들고 C++ 프로그램에서 사용할 수 있으면 좋겠다. 많은 감사. – ims

+3

Err ... 그렇게하지 마십시오. 라이브러리 클래스를 상속 받아서는 안됩니다. 대신 구성을 통해 수업을 사용할 수있게 만드십시오. –

답변

1

나는 그것이 가능하다는 것을 모르지만, C++ 라이브러리의 클래스에 대해 JavaScript로 wrapper class을 작성하는 것이 더 낫다는 느낌이 들었다.

3

저는 SpiderMonkey/JavaScript에서 C++ 클래스를 서브 클래스로 만들 수없고 나머지 C++ 코드에서도 투명하게 사용할 수 있다고 생각합니다. 그러나 C++에서 몇 가지 JavaScript 클래스/함수에 작업을 위임하는 래핑 클래스를 만들 수 있습니다. 당신의 상황에 맞는 C++ 클래스를 충분히 구성 할 수 있다면. JavaScript의 C 코드와 C 코드를 호출하는 코드는 모두 JSAPI User Guide 페이지에 설명되어 있습니다 (이미 읽은 것 같습니다).