Java JNI-如何转换';吉特';到'的参数;无符号整数';C型值
我有一个jni函数Java JNI-如何转换';吉特';到'的参数;无符号整数';C型值,java,android,c,android-ndk,java-native-interface,Java,Android,C,Android Ndk,Java Native Interface,我有一个jni函数 native float nativeMethod(int num); 这与C函数有关 void Java_com_package_name_nativeMethod(JNIEnv * env, jobject obj, jint num) { unsigned int nativeUnsignedNum = num; } 我的C代码需要使用无符号整数。我怎样才能做到这一点?使用上面的代码,我得到一个错误:对'jint'类型的有符号值使用'unsigned int
native float nativeMethod(int num);
这与C函数有关
void Java_com_package_name_nativeMethod(JNIEnv * env, jobject obj, jint num)
{
unsigned int nativeUnsignedNum = num;
}
我的C代码需要使用无符号整数。我怎样才能做到这一点?使用上面的代码,我得到一个错误:对'jint'类型的有符号值使用'unsigned int'。
。如何将一个数字(总是无符号/正)从Java传递给C方法,并将该值赋给一个无符号整数
谢谢 播放它:
unsigned int nativeUnsignedNum = (unsigned int)num;
演员阵容:
unsigned int nativeUnsignedNum = (unsigned int)num;
对不起,我完全忘了在问题中加上这个。。。为了以防万一,我现在尝试了它,它是有效的,但在它因SIGSEGV错误崩溃之前,SIGSEGV将以不同的原因发生,而不是简单的无符号int强制转换。您应该使用调试器查找崩溃的行,或者发布您认为有问题的其余代码,以便我们可以查看。抱歉,我完全忘了将其添加到问题中。。。为了以防万一,我现在尝试了它,它是有效的,但在它因SIGSEGV错误崩溃之前,SIGSEGV将以不同的原因发生,而不是简单的无符号int强制转换。您应该使用调试器查找崩溃的行,或者发布您认为有问题的其余代码,以便我们可以查看它。