java - 在单个 Java 程序中同时调用 C 和 C++

标签 java c++ c

大家好,是否可以在 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 取决于您。

当然,这已经在javahextern "C" 等生成的头文件中为您完成了。

关于java - 在单个 Java 程序中同时调用 C 和 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3771406/

相关文章:

c++ - 从我的程序连接到 mysql Web 数据库

java - 单个查询中的ManyToOne Outer Join(1对0关系)

java - 如何从部署在 PCF 上的 spring boot 应用程序连接到 Amazon RDS MySQL 数据库?

java - 使用spring 3.1访问jsp中的数据库连接字符串

c - Unix top 命令列从另一个 C 程序中选择?

c - 使用 C 程序替换字符串中的单词

java - java中基于空格和匹配引号的正则表达式分割字符串

c++ - Cuda原子操作

c++ - Eye of Gnome - 使用 shell 脚本在不同窗口打开两个图像

c++ - 像素着色器中的 Sprite 调色板交换