【Java】【C】【C++】 JNR ~ 入門編 ~

■ はじめに

https://blogs.yahoo.co.jp/dk521123/36187289.html
で、JNA(Java Native Access)を使って、JavaからC/C++コードを呼び出した。
しかし、JNR (Java Native Runtime)ってのもあるらしいので、簡単に調べてみた。

■ JNR (Java Native Runtime)とは?

 * C/C++コードを、Javaから直接呼び出すことができるライブラリ

公式サイト

https://github.com/jnr/jnr-ffi

■ JNAとの違い

https://stackoverflow.com/questions/44760972/what-is-the-difference-between-jna-and-jnr
より
~~~~~~
JNA uses reflection to call native methods.
# JNAはネイティブメソッドを呼ぶために、リフレクションを使う

JNR generates bytecode in runtime only once therefore JNR works faster then JNA.
# JNRは、ランタイムで一度、バイトコードを生成する、故にJNRはJNAより早く動作します
~~~~~~
JNR VS JNA
https://java.libhunt.com/compare-jnr-ffi-vs-jna
だと、人気や安定性では、現状(2018/10/09現在)まだまだJNAの方に分がありそう。