大家好,是否可以在 java 中声明 native 方法,以便在 c 中定义一个方法,在 c++ 中定义另一个方法。m 在其中引起混淆。请帮助我。
最佳答案
是的。只要接口(interface)使用标准的 C 调用约定,Java 并不关心它是用哪种语言实现的。这意味着如果您碰巧正在编写 C++,则必须将声明包围在 extern "C"
block 中:
#include <jni.h>
#ifdef __cplusplus
extern "C" {
JNIEXPORT jstring MyNativeMethod(JNIEnv *, jobject);
}
#endif
是否用 C、C++ 或任何其他语言实现 MyNativeMethod
取决于您。
当然,这已经在javah
、extern "C"
等生成的头文件中为您完成了。
关于java - 在单个 Java 程序中同时调用 C 和 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3771406/