एक ही मुद्दा-तय की। मेरे मामले में मैं ओपनफ्रेमवर्क का उपयोग कर रहा हूं इसलिए मुझे नहीं पता कि यह गैर-ओपनफ्रेमवर्क परियोजनाओं पर लागू होता है (परीक्षण नहीं किया गया है)। हालांकि, ऐसा लगता है कि बाहरी कार्य में पहले दो तर्क हमेशा "env" और "thiz" होते हैं और इन्हें प्रत्येक नए बाहरी फ़ंक्शन के लिए स्पष्ट रूप से परिभाषित करने की आवश्यकता होती है।
extern "C"{
// casts the variable properly
void Java_com_package_JavaClass_someFunction(JNIEnv* env, jobject thiz, jboolean yourBool){
myTestApp->someFunction((bool) yourBool);
}
// "yourBool" will always be "1" because its taking the spot of "thiz" which is not null
void Java_com_package_JavaClass_someFunction(JNIEnv* env, jboolean yourBool){
myTestApp->someFunction((bool) yourBool);
}
// "yourBool" will always be "1" because its taking the spot of "env" which is not null
void Java_com_package_JavaClass_someFunction(jboolean yourBool){
myTestApp->someFunction((bool) yourBool);
}
}
आपका मतलब int intValue = (int) jIntValue है; ? – Graeme
बिल्कुल, सी स्टाइल कास्ट नौकरी करेगा –
आह .... शायद मुझे अपना प्रश्न अपडेट करना चाहिए ... – Graeme