2010-12-27 38 views
5

Từ những gì tôi hiểu, SWIG là để bọc C++/C để làm cho nó xuất hiện trong Java, và javah là thực hiện một số hàm java trong C++ (aka các hàm gốc).
Có công cụ nào có thể tạo trình bao bọc C++ trên lớp java, để người gọi đó. của c này ++ wrapper không phải lo lắng về java, ví dụ
Input Java làđể tạo C++ wrapper trên lớp java

class hw { 
    public void hi() { 
     System.out.println("Hello World"); 
    } 
    } 

Công cụ đầu ra hw.hh (và một số. C++ files), có thể được sử dụng như :

hw * h = new hw (/ * JEnv */env);
h-> hi();

Có công cụ nào có thể thực hiện được không?

+0

Bạn có mong đợi trình bao bọc này lưu trữ máy ảo java không? Đó là không tầm thường. –

+0

@Bgen Voigt: Từ những gì tôi đọc, tôi nghĩ rằng nó rất nhiều mã boilerplate .. có thể không tầm thường, nhưng sth có thể được thực hiện bằng công cụ. Tất cả các công cụ hiện có được định hướng theo hướng sử dụng java như khuôn khổ, và mã C++ như thư viện .. tôi đã cố gắng làm điều ngược lại .. java như libraray, C++ sẽ gọi và khi cần thiết. .. Tôi có cảm giác loại công cụ này có thể được thực hiện bằng cách sử dụng api phản chiếu java! – vrdhn

Trả lời

4

Các tùy chọn bao gồm, sau đây, theo thứ tự tăng dần chi phí cho bạn.

  • Viết tay JNI được viết bởi khách hàng thuộc lớp Java của bạn.
  • Trình đóng gói được viết bằng tay JNI do bạn viết cho khách hàng trong lớp học của bạn.
  • JACE trình bao bọc được tạo. JACE là một công cụ miễn phí. Phiên bản cuối cùng là vào năm 2008; không chắc chắn nếu phát triển đang tiếp tục.
  • JunC++ion trình bao bọc được tạo. Thư viện thương mại này tạo ra kết quả tốt nhất với nỗ lực phát triển ít nhất. Nó hỗ trợ gọi lại Java, với các lớp C++ thực hiện các giao diện Java. Tác giả rất nhạy cảm và là một người rất tốt. Tuy nhiên, có một thẻ giá và bạn sẽ muốn chắc chắn về chi phí triển khai.
2

tôi đã sử dụng sản phẩm này trong một thời gian dài trước đây, http://www.codemesh.com/products/junction/

Nó sẽ làm chính xác những gì bạn muốn.

Chỉ là tuyên bố từ chối trách nhiệm, tôi đã sử dụng nó gần 6 năm trước. Tôi không liên quan đến sản phẩm này.

+0

. trông trang web là xuống .. nhưng tốt để biết tôi là người duy nhất có vấn đề (-: – vrdhn

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