java 调用 c

123 阅读1分钟

首先引入jna依赖

  implementation group: 'net.java.dev.jna', name: 'jna', version: '5.3.1'

将.so文件放在

resource目录的linux-x86-64下

继承Library,用于加载库文件
public interface JnaLibrary extends Library{


    JnaLibrary INSTANCE = Native.load("CssEncrypt", JnaLibrary.class);
//
//    // 此方法为so文件中的c语言函数1 -> int test_return_C(void);
//    //  ##备注: 这里的void代表无参
    int test_return_C();
//
//    // 此方法为so库中的c语言函数2 -> char* Decrpyt( char * input);
//    // ## 备注: 这里的char* 是c语言中的指针,与java中的String相对应
    String Decrpyt(String input);

   
}

调用方式为  

JnaLibrary.INSTANCE.test_return_C()

本文已参与「新人创作礼」活动,一起开启掘金创作之路