java确定本机库的路径(dll/so)
取决于平台,System.loadLibrary("Something")
将加载libSomething.so
或Something.dll
。它将在目录列表(java.library.path
)中搜索它,并加载它找到的第一个目录(我想)
我想知道加载的.so
/.dll
的完整路径。有ClassLoader.findLibrary(String libname)
正是我想要的,但它是protected
一种解决方法是使用System.mapLibraryName(String)
从库名称中生成特定于平台的文件名,然后拆分并迭代java.library.path
系统属性。我想对于大多数情况,它会给出与ClassLoader.finLibrary
相同的结果,但是对于所有情况,它会给出相同的结果吗
这项任务有什么最佳实践吗
共 (0) 个答案