0

我有一个 umdf 驱动程序,我想调用 .jar 文件中的一些函数来建立我的驱动程序(PCSC Reader)和 Eclipse 插件(JCOP)之间的连接。

我使用 JNI 在 c++ main 中调用了一些 java 函数(来自 .jar),但是我们可以在 UMDF 驱动程序中编写 JNI 代码吗?如果是的话,我将不胜感激有关如何处理该主题的一些指导方针或观点...

当你用谷歌搜索这个主题时,没有太多关于这个主题的信息,所以任何信息都非常感谢!谢谢你。

4

1 回答 1

0

我没有任何 UMDF 驱动程序经验,但是,在阅读概览后,我看不出 JNI 无法直接与反射器通信的任何原因。我认为它无法与设备堆栈或管理器进行通信。因此,如果我理解正确,您可能应该有一些独立于 JNI 加载的驱动程序,然后使用 JNI 通过反射器与驱动程序对话。

在更一般的说明中,我建议让您的 JNI 代码尽可能简单。我的 JNI 代码通常只用作 Java <=> 本机翻译层。所有的复杂性和处理都在一个可以独立于 Java 运行的支持库中完成。通过这样做,您可以使用 gdb 或 Visual Studio 调试您的本机代码,而无需跳过已经运行的 JVM。您可以选择将独立库作为本机依赖项提供并将其添加到系统库加载路径,或者您可以简单地将其静态链接到 JNI 库。在那个确切的场景中,我使用 LTO 和静态链接获得了非常好的结果。

于 2014-06-26T18:40:07.280 回答