से कॉलिंग सी ++ डीएल कॉलिंग मैं जावा का उपयोग एक छोटे ऐप के लिए कर रहा हूं। यह मौजूदा एमएफसी परियोजना का पुनर्लेखन है। जेएनआई का उपयोग कर जावा से एक्सेस सक्षम करने के लिए मुझे एक मौजूदा डीएलएल बदलने की जरूरत है। यह सभी जावा सामान मेरे लिए नया है, इसलिए जब मैं अन्य फ़ोरम पोस्ट पढ़ता हूं तो मुझे थोड़ा परेशानी होती है और मुझे घना महसूस होता है। मौजूदा डीएल में मेरे पास एक फ़ंक्शन है:जावा
extern "C" __declspec(dllexport) bool Create()
{
return TRUE;
}
गूंगा प्रश्न समय। जावा द्वारा बुलाए जाने के लिए मैं इसे ठीक से कैसे सेट करूं?
JNIEXPORT jboolean JNICALL Create()
{
return TRUE;
}
मैं jni.h और सब कुछ ठीक संकलित शामिल कर रहा हूँ:
मैं इस कोशिश की। हालांकि, जब मैं इसे जावा से कॉल करता हूं तो मुझे असंतुष्ट लिंक्स त्रुटि मिलती है।
public static native boolean CreateSession();
System.load("D:\\JavaCallTest.dll");
Create();
किसी कृपया उचित दिशा में मुझे धक्का सकता है: मैं इस का उपयोग कर जावा से यह फोन कर रहा हूँ? मैं ईमानदारी से किसी भी मदद की सराहना करता हूं। एक मौजूदा सी Codebase जो मैं जावा से पहुंच के लिए आवश्यक -
धन्यवाद,
निक
क्या आपने सूर्य उदाहरण देखा है? http://java.sun.com/developer/onlineTraining/Programming/JDCBook/jniexamp.html – Etienne
वैकल्पिक रूप से, आप जेएनआई के बजाय जेएनए का उपयोग कर सकते हैं क्योंकि आपके पास सी डीएल है जिसे जेएनए द्वारा लोड किया जा सकता है। – ecle
कृपया जो अपवाद फेंक दिया गया है उसे पोस्ट करें ... – quaylar