Tôi đang sử dụng Java cho một ứng dụng nhỏ. Đó là một viết lại của một dự án MFC hiện có. Có một dll hiện có mà tôi cần thay đổi để cho phép truy cập từ Java bằng JNI. Tất cả các công cụ Java này là mới đối với tôi, vì vậy tôi gặp một chút rắc rối và cảm thấy khá dày đặc khi tôi đọc các bài đăng trên diễn đàn khác. Trong dll hiện có, tôi có một chức năng như sau:Gọi C++ dll từ Java
extern "C" __declspec(dllexport) bool Create()
{
return TRUE;
}
Thời gian hỏi câm. Làm thế nào để tôi thiết lập đúng cách để được gọi bằng Java?
Tôi cố gắng này:
JNIEXPORT jboolean JNICALL Create()
{
return TRUE;
}
tôi bao gồm tất cả mọi thứ jni.h và biên dịch tốt. Tuy nhiên, khi tôi gọi nó từ Java, tôi nhận được UnsatisfiedLinkError. Tôi đang gọi nó từ Java bằng cách sử dụng này:
public static native boolean CreateSession();
System.load("D:\\JavaCallTest.dll");
Create();
Ai đó có thể đưa tôi đi đúng hướng không? Tôi chân thành cảm kích sự giúp đỡ nào.
Cảm ơn,
Nick
Bạn đã xem ví dụ về Mặt trời chưa? http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html – Etienne
Ngoài ra, bạn có thể sử dụng JNA thay vì JNI vì bạn có một dll C có thể được tải bởi JNA. – ecle
Vui lòng đăng ngoại lệ được ném ... – quaylar