0

我打算创建一个 Java 应用程序来使用来自 dll 的方法。

对于我一直在阅读的内容,简而言之,使用 JNI 的过程包括:在 Java 中声明本机方法,生成 .h 文件,然后使用实现编写 ac 或 cpp 文件以创建 dll。

但我的问题是我有一个 dll,它是一个包含许多方法的大库。我知道这些方法的接口。但我不想实施它们。我想使用 dll 来避免使用这些方法。我知道将其用作 dll 可能会提高性能。但就我而言,我想使用它只是因为我想使用另一方完成的代码。

我错过了什么吗?是否可以使用 JNI 或任何其他 Java 接口来使用 dll 方法,但跳过编码部分?

非常感谢。

4

2 回答 2

2

如果您没有使用 lib 的问题,我建议您使用 JNA。它具有更灵活的 dll 访问 API。至少我更喜欢使用它。

您可以在此处找到示例: https ://github.com/twall/jna/tree/master/www 因此,您只需要加载 dll 和一些您只需从 java 调用的接口即可获得所需的内容。

也许这个博客也可以帮助你:http: //jnaexamples.blogspot.de/2012/03/java-native-access-is-easy-way-to.html

于 2013-07-31T07:59:05.693 回答
1

你可以

  • 使用JNA 方法。JNA 的优点是不需要本地代码 - 您要包装的 DLL 中的方法是动态调用的。

  • 实现一个封装 DLL,它实现 JNI 方法,然后从您的 DLL 调用真正的方法。如果您可以出于任何原因不使用 JNA 库(例如由于许可限制),这将是正确的方法

于 2013-07-31T07:58:19.673 回答