在单个java程序中调用C和c ++

时间:2010-09-22 16:23:59

标签: java c++ c

大家可以在java中声明本机方法,以便在c中定义一个方法,在c ++中定义其他方法。在其中混淆。请帮助我。

1 个答案:

答案 0 :(得分:1)

是。只要接口使用标准C调用约定,Java就不关心它实现的语言。这意味着如果您正在编写C ++,则必须在extern "C"块中包含声明:

#include <jni.h>
#ifdef __cplusplus
extern "C" {
JNIEXPORT jstring MyNativeMethod(JNIEnv *, jobject);
}
#endif

是否以C,C ++或任何其他语言实现MyNativeMethod取决于您。

当然,这已经由javahextern "C"和所有人生成的标头文件中为您完成。