当使用JNI在现有C++代码中进行移植时,请使用C或C++与JAVA进行接口

When using JNI to port in existing C++ code, use C or C++ to interface with JAVA?

本文关键字:C++ 请使用 接口 JAVA 代码 JNI      更新时间:2023-10-16

我试图移植的现有代码是用C++实现的。在我编写了java包装器并在类上运行javah以获得.h头文件之后。。。。有"正确"的做事方式吗?我现有代码的相应包装器应该用C还是C++编写?

谢谢!

如果您使用普通的JNI,您可以用C和C++编写。重要的是,如果您使用C++,那么JNI函数(如void Java_com_yourpackage_YourClass_yourMethod(JNIEnv* env, ...))必须声明为extern "C",但AFAIKjavah是自动执行的。