Debian 上のコンパイル済み (?) Java パッケージ

Debian 上のコンパイル済み (?) Java パッケージ

Debian で jinput ライブラリを検索すると (ここでの「j」は、これが単純なラッパーではなく、Java 固有のライブラリであることを意味していると思います)、該当する可能性があるパッケージが 2 つあることに気付きました。

libjinput-java/stable 20100502+dfsg-7 all
  Java Game Controller API

libjinput-jni/stable 20100502+dfsg-7 armhf
  Java Game Controller API (jni)

これは ARM システムであることに注意してください。他の言語では、コンパイルを必要とする高速な実装と、コンパイルを必要としない「純粋な何でも」(この場合は Java) の 2 つの実装が存在することがあります。後者はここではありそうにありませんが、確かなことはわかりません。最初のものが「すべての」プラットフォームに適用可能なパッケージとして表示されるのは、2 番目のものがアーキテクチャ固有のリストであるのに対して興味深いことです。

-javaでは、Debian の命名法では、パッケージとパッケージの違いは何でしょうか-jni?


-jni誰かがそれを確認または否定できれば、このパッケージにより、このライブラリを「逆方向」、つまり C/C++ から使用できると推測しています...

答え1

libjinput-javaそしてlibjinput-jni同じ情報源パッケージ-javaには、アーキテクチャに依存しない純粋なJava JARが含まれており、-jniパッケージには、Javaパッケージに必要なネイティブ機能を提供するアーキテクチャ固有のライブラリが含まれています。libjinput-java依存libjinput-jni: これらは jinput の 2 つの異なる実装ではなく、jinput の 2 つの部分であり、jinput に依存するソフトウェアが動作するには両方が必要です。

パッケージの分離は、アーキテクチャに依存しないファイルをアーキテクチャ固有のファイルから分割するだけです。

(JNIはJavaネイティブインターフェースこれにより、JVM 上で実行されているプログラムがネイティブ ライブラリ内のコードを呼び出すことができるようになります。

関連情報