Archive for 4月 9th, 2012

  1. Hello, JNA World!

    Posted on 4月 9th, 2012 by cx20

    JNA

    JNA(Java Native Access)は、Java から C言語などの共有ライブラリにアクセスするライブラリである。

    ソースコード

    import com.sun.jna.Library;
    import com.sun.jna.Native;
    import com.sun.jna.Platform;
     
    public class Hello {
        public interface CLibrary extends Library {
            CLibrary INSTANCE = (CLibrary) Native.loadLibrary(Platform.isWindows() ? "msvcrt" : "c", CLibrary.class);
            void printf(String format, Object... args);
        }
     
        public static void main(String[] args) {
            CLibrary c = CLibrary.INSTANCE;
            c.printf("Hello, JNA World!n");
        }
    }

    コンパイル&実行方法

    $ javac -cp jna.jar:platform.jar:. Hello.java
    $ java -cp jna.jar:platform.jar:. Hello

    実行結果

    Hello, JNA World!