具有多个参数的JNI方法



我是JNI的新手,我想把三个整数传递给下面的函数

void pauseEffectJNI(unsigned int nSoundId)
    {
        // void pauseEffect(int)
        JniMethodInfo methodInfo;
        if (! getStaticMethodInfo(methodInfo, "pauseEffect", "(I)V"))
        {
            return ;
        }
        methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, (int)nSoundId);
        methodInfo.env->DeleteLocalRef(methodInfo.classID);
    }

如果我错了,请纠正我

这一行会有什么if(!getStaticMethodInfo(methodInfo,"pauseEffect","(I)V")

(I;I;I)V或仅(III)V

如果我的函数是void pauseEffectJNI(无符号int nSoundId,无符号int number1,无符号整数2)??

基本上,我想知道如果我想通过一个以上的整数

谢谢你的帮助。。。这是我做的函数。。。如果我错了,请纠正我

  void pauseEffectJNI(unsigned int nSoundId , unsigned int number)
        {
            // void pauseEffect(int)
            JniMethodInfo methodInfo;
            if (! getStaticMethodInfo(methodInfo, "pauseEffect", "(III)V"))
            {
                return ;
            }
            methodInfo.env->CallStaticVoidMethod(methodInfo.classID, methodInfo.methodID, (int)nSoundId,(int) number);
            methodInfo.env->DeleteLocalRef(methodInfo.classID);
        }

不要试图手动计算JNI方法签名,因为'javap-s'会以100%的可靠性告诉您正确的答案。使用工具。

相关内容

  • 没有找到相关文章

最新更新