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?
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. –
@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