我需要调用本机方法:
java代码:
private native Object SendFiles(String strEmail, DeviceInfo info, String [] arrFiles, int cntFiles, ID idRequest);
调用SendFiles();
SendFiles(strEmail, null, arrFiles, cntFiles, requestID);
和c ++代码:
jobject Java_com_xxxxx_xxxxx_controller_CoreController_SendFiles(JNIEnv *pEnv, jobject obj, jstring strEmail, jobject jinfo, jobjectArray jarrFiles, jint cntFiles, jobject jidRequest){
.........
if(jinfo == NULL) // here crashes !!!!!!!
doSomething();
............
}
Java'null'可以发送到c'NULL'吗?
我怎么能这样做?
答案 0 :(得分:0)
您可以阅读多篇帖子的c ++ NULL
项检查,例如Checking for a null object in C++或Checking if this is null或How do we check if a pointer is NULL pointer?
然而,这篇文章似乎给出了最直接的方法: Return a "NULL" object if search result not found
答案 1 :(得分:0)
jobject
是C ++端的指针数据类型。从Java传递null
对象时,C ++将其作为NULL
指针接收。可以比较。
崩溃可能与其他事情有关。插入一些诊断输出并进行调试。