大家可以在java中声明本机方法,以便在c中定义一个方法,在c ++中定义其他方法。在其中混淆。请帮助我。
答案 0 :(得分:1)
是。只要接口使用标准C调用约定,Java就不关心它实现的语言。这意味着如果您正在编写C ++,则必须在extern "C"
块中包含声明:
#include <jni.h>
#ifdef __cplusplus
extern "C" {
JNIEXPORT jstring MyNativeMethod(JNIEnv *, jobject);
}
#endif
是否以C,C ++或任何其他语言实现MyNativeMethod
取决于您。
当然,这已经由javah
,extern "C"
和所有人生成的标头文件中为您完成。