请问cocos2dx中java调用c++中的代码是如何实现的??
java代码
1、看包名,例如
package org.cocos2dx.cpp;
2、新增一个native方法,java不实现(C++实现)
3、java直接该native方法
C++
1、extern “C” {}不可少
2、JNIEXPORT void Java_ + org_cocos2dx_cpp_AppActivity_ + native方法
org_cocos2dx_cpp_AppActivity即为java中的包名
native方法为java中的native方法
native方法中的参数类型要对应,例如java中的int对应jint
例如native方法为 public native void onNativeMethod(int a);
则c++中
extern “C” {
JNIEXPORT void Java_org_cocos2dx_cpp_AppActivity_onNativeMethod(JNIEnv* env, jobject thiz, jint a)
{
}
}
应该是 JNIEXPORT void JNICALL Java_ + org_cocos2dx_cpp_AppActivity_ + native方法
是不是少了一个JNICALL