jnr / jnr-ffi

Java Abstracted Foreign Function Layer

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[feature request]

chenjia123 opened this issue · comments

Why not support search for different locations by platform? Just like JNA.

Snipaste_2022-07-10_21-10-26

Now I implement similar functionality with the following code:

Platform nativePlatform = Platform.getNativePlatform();
Platform.OS os = nativePlatform.getOS();
Platform.CPU cpu = nativePlatform.getCPU();
String searchPath = String.format(basePath + "/src/main/resources/%s-%s", os, cpu);
XXX obj =  LibraryLoader.create(XXX.class).search(searchPath).load("some_so");

But use JNA:

XXX obj = Native.load("some_so", XXX.class);

I don't get it - Why would this functionality go into the library, when the library search path is a standard part of the runtime environment?