native-lib-loader java native 库的java 包

native-lib-loader 可以方便native 库的查找,只要我们的c 库符合格式,基于native-lib-loader 就可以方便的进行包的加载

参考c 库 jar 格式

/natives
  /linux_32
     libxxx[-vvv].so
  /linux_64
     libxxx[-vvv].so
  /osx_32
     libxxx[-vvv].dylib
  /osx_64
     libxxx[-vvv].dylib
  /osx_arm64
     libxxx[-vvv].dylib
  /windows_32
     xxx[-vvv].dll
  /windows_64
     xxx[-vvv].dll
  /windows_arm64
     xxx[-vvv].dll
  /aix_32
     libxxx[-vvv].so
     libxxx[-vvv].a
  /aix_64
     libxxx[-vvv].so
     libxxx[-vvv].a

使用

  • 参考代码
public class Native {
    private  native long createTable(int paramInt1, int paramInt2, boolean paramBoolean);
 
    static {
        try {
            NativeLoader.loadLibrary("joust",new String[0]);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    public long createTableV1(int paramInt1, int paramInt2, boolean paramBoolean) {
        return createTable(paramInt1, paramInt2, paramBoolean);
    }
}

说明

不少框架也使用了此包,是一个很不错的工具包,比如dremio 对于c库的使用就基于此包处理的

参考资料

https://github.com/scijava/native-lib-loader

posted on 2024-02-20 14:26  荣锋亮  阅读(27)  评论(0编辑  收藏  举报

导航