JNA 简介

什么是 JNA?

Java Native Access(JNA) 是一个社区开发的库,为 Java 程序提供了对本机共享库的轻松访问(Windows 上的 .dll 文件,Unix 上的 .so 文件……)

我怎么用呢?

  • 首先,下载最新版本的 JNA 并在项目的 CLASSPATH 中引用其 jna.jar。

  • 其次,复制,编译和运行下面的 Java 代码

出于本简介的目的,我们假设使用的本机平台是 Windows。如果你在另一个平台上运行,只需将字符串 msvcrt 替换为下面代码中的字符串 c 即可。

下面的小型 Java 程序将通过调用 C printf 函数在控制台上打印一条消息。

CRuntimeLibrary.java

package jna.introduction;

import com.sun.jna.Library;
import com.sun.jna.Native;

// We declare the printf function we need and the library containing it (msvcrt)... 
public interface CRuntimeLibrary extends Library {

   CRuntimeLibrary INSTANCE =
       (CRuntimeLibrary) Native.loadLibrary("msvcrt", CRuntimeLibrary.class);

   void printf(String format, Object... args);
}

MyFirstJNAProgram.java

package jna.introduction;

// Now we call the printf function...
public class MyFirstJNAProgram {
    public static void main(String args[]) {
         CRuntimeLibrary.INSTANCE.printf("Hello World from JNA !");
    }
}

现在去哪儿了?

跳到另一个主题或跳转到官方网站