gpt4 book ai didi

java - 如何根据应用程序运行的系统加载不同的 native 库(dll、so)

转载 作者:行者123 更新时间:2023-11-30 08:22:43 24 4
gpt4 key购买 nike

我有一个使用 JNI 调用的 native 库。调用 native 库在 Linux 中工作正常。

我的问题是,如果我为 Linux 和 Windows 创建一个 .so.dll 文件并将它们添加到项目中,有没有办法加载正确的库基于调用 System.LoadLibrary("myLib") 时运行我的应用程序的操作系统?

换句话说,下面伪代码的正确实现是什么?

if(Windows){
System.LoadLibrary("myLib.dll");
}else if(Linux){
System.LoadLibrary("myLib.so");
}

谢谢

最佳答案

恰恰相反,在 Windows 上

System.loadLibrary("myLib");

将加载myLib.dll,但在 *x 上它等同于

System.load(path + "/libmyLib.so");

部署和路径管理将依赖于平台,但 loadLibrary() 是“一次编码,到处运行”。

关于java - 如何根据应用程序运行的系统加载不同的 native 库(dll、so),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24173225/

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