JNA初探
JNA的全称是Java Native Access,它为我们提供了一种更加简单的方式来访问本地的共享库资源,如果你使用JNA,那么你只需要编写相应的java代码即可,不需要编写JNI或者本地代码...对于上面的JNA的例子来说,直接运行可以得到下面的结果:
Hello, World
我们可以向程序添加JVM参数:-Djna.debug_load=true,从而让程序能够输出一些调试信息,再次运行结果如下所示...如果你的系统对于从jar文件中解压文件有安全方面的限制,比如SELinux,那么你需要手动将jnidispatch安装在一个可以访问的地址,然后使用1或者2的方式来设置加载方式和路径。...本地方法中的结构体参数
如果本地方法传入的参数是基本类型的话,在JNA中定义该native方法就用基本类型即可。
但是有时候,本地方法本身的参数是一个结构体类型,这种情况下我们该如何进行处理呢?...我们通过继承Structure来定义参数的结构体:
@FieldOrder({ "wYear", "wMonth", "wDayOfWeek", "wDay", "wHour", "wMinute",