带有任意 C 代码的 Java native 接口(interface)

标签 java c java-native-interface

我有一个提供的 .dll,我需要使用 java 与它交互。

我是否必须重写 C 才能使用 jni.h 中提供的 JNI 类型?如 java sun 的 jni 示例所示。 否则,我如何声明我的 java 函数的 native 函数来传递和接收指针?

谢谢

最佳答案

您可能会发现 JNA有用

“JNA 使 Java 程序可以轻松访问 native 共享库(Windows 上的 DLL),而无需编写 Java 代码以外的任何东西——不需要 JNI 或 native 代码。此功能可与 Windows 的 Platform/Invoke 和 Python 的 ctypes 相媲美。访问是在没有代码生成的情况下在运行时是动态的。”

关于带有任意 C 代码的 Java native 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/917789/

相关文章:

java - 在 Java 7 上运行带有 JNI 的 Java 5/6 会给出堆栈防护警告

java - 在包含下划线的 Android 包名称中调用 JNI 函数

java - View 的高度和宽度始终为 0(getMeasuredHeight() 和 getHeight() 均无效)

java - Java中的十六进制字符串到二进制

java - servlet 能否确定发布的数据是否为多部分/表单数据?

c - 为什么下面给我一个从 double *** 到 const double*** 的转换错误

java - 使用代码块创建共享对象?

java - 需要有关将数据从 jsp 传递到 servlet 的帮助

c - 程序不等待文本输入

c - 优化的itoa功能