2010-07-18 30 views
15

Tôi đang nhúng SpiderMonkey để làm cho thư viện C++ của tôi có thể chạy được. Để làm cho nó có thể mở rộng, tôi cần nó có thể định nghĩa một lớp mới (JavaScript) kế thừa một lớp cơ sở C++ của thư viện.Làm thế nào để kế thừa một lớp C++ trong JavaScript?

Có ví dụ nào cho tôi biết cách thực hiện điều đó bằng SpiderMonkey không?

+0

bạn đã xem xét điều này chưa: http://egachine.berlios.de/embedding-sm-best-practice/embedding-sm-best-practice.html#id2510183? – smerlin

+0

Cảm ơn nhận xét của bạn. Tôi đã đọc bài viết đó trước đây, nhưng tôi không tìm thấy giải pháp cho câu hỏi của mình. Câu hỏi của tôi không phải là ánh xạ Bản đồ thừa kế các lớp C++ hiện có. Trong trường hợp của tôi, tôi muốn tôi có thể phụ lớp C++ hiện có trong mã Javascript của tôi và sử dụng nó trong chương trình C++ của tôi. Rất cám ơn. – ims

+3

Err ... đừng làm thế. Có lẽ không nên kế thừa từ các lớp thư viện; thay vào đó, làm cho lớp của bạn có thể sử dụng thông qua sáng tác. –

Trả lời

1

Tôi không biết điều đó là có thể, nhưng cảm giác nói rằng bạn nên viết một mã số wrapper class trong JavaScript cho lớp trong thư viện C++.

3

Tôi nghĩ bạn không thể phân lớp lớp C++ trong SpiderMonkey/JavaScript và sử dụng nó trong suốt trong phần còn lại của mã C++. Tuy nhiên, bạn có thể tạo một lớp bao gói trong C++, ủy nhiệm công việc của nó cho một vài lớp/hàm JavaScript. Nếu bạn làm cho lớp C++ có thể cấu hình đủ để làm việc cho tình huống của bạn. Cả hai mã JavaScript gọi từ mã C và C từ JavaScript được giải thích trong trang JSAPI User Guide (Tôi nghĩ bạn đã đọc trang đó).

Các vấn đề liên quan