2010-07-18 14 views
15

Ich bin SpiderMonkey eingebettet, um meine C++ - Bibliothek skriptfähig zu machen. Um es erweiterbar zu machen, muss ich eine neue Klasse (JavaScript) definieren, die eine C++ - Basisklasse der Bibliothek erbt.Wie erben Sie eine C++ - Klasse in JavaScript?

Gibt es ein Beispiel, das mir zeigt, wie man das mit SpiderMonkey macht?

+0

haben Sie sich das angesehen: http://egachine.berlios.de/embedding-sm-best-practice/embedding-sm-best-practice.html#id2510183? – smerlin

+0

Danke für Ihren Kommentar. Ich habe diesen Artikel schon einmal gelesen, aber ich habe die Lösung für meine Frage nicht gefunden. Meine Frage ist nicht Mapping Vererbung von bestehenden C++ - Klassen zuordnen. In meinem Fall wünschte ich, ich könnte existierende C++ - Klasse in meinem Javascript-Code unterteilen und in meinem C++ - Programm verwenden. Vielen Dank. – ims

+3

Ähm ... mach das nicht. Man sollte wahrscheinlich nicht von Bibliotheksklassen erben; statt dessen machen Sie Ihre Klasse durch Komposition nutzbar. –

Antwort

1

Ich weiß nicht, dass es möglich ist, aber ein Gefühl sagt, dass es besser ist, ein wrapper class in JavaScript für die Klasse in der C++ - Bibliothek zu schreiben.

3

Ich würde denken, dass Sie eine C++ - Klasse in SpiderMonkey/JavaScript nicht ableiten können und es transparent im Rest Ihres C++ Codes verwenden können. Sie können jedoch eine Wrapping-Klasse in C++ erstellen, die ihre Arbeit an einige JavaScript-Klassen/Funktionen delegiert. Wenn Sie Ihre C++ Klasse konfigurierbar genug machen, sollte das für Ihre Situation funktionieren. Sowohl das Aufrufen von JavaScript-Code aus C- und C-Code aus JavaScript ist auf der Seite JSAPI User Guide erklärt (ich glaube, Sie haben das bereits gelesen).

Verwandte Themen