gpt4 book ai didi

java - JNI,加载2次相同的dll(不同的名称),如何选择使用哪一个?

转载 作者:行者123 更新时间:2023-11-30 11:46:39 25 4
gpt4 key购买 nike

我在 C++ dll 上使用 jni:“sharedMemLib.dll”

我的 java 应用程序正确加载了这些 dll 两次:sharedMemLib.dll 和 sharedMemLib2.dll

我想将一个特定的 dll 关联到一个类的实例,例如,一个 JNIInterface 实例将访问 sharedMemLib.dll,而另一个 JNIInterface 实例将访问 sharedMemLib2.dll。

这两个 dll 具有相同的功能,有什么想法可以选择访问哪个吗?

最佳答案

如果两个 DLL 中的入口点名称相同,请忽略它。即使您尝试在同一操作系统下运行 2 个 JVM,我也不认为它会起作用。您需要两个不同的包名称(或两台机器)。我做了一些测试,在我的系统上,加载的第一个 DLL 就是使用的那个。现在,如果您使用从 JNI 到 Java 的回调,由于调用中的第二个参数(类型 jobject ),回调将被定向到一个实例而不是另一个实例。

关于java - JNI,加载2次相同的dll(不同的名称),如何选择使用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9665444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com