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 上で実行されているプログラムがネイティブ ライブラリ内のコードを呼び出すことができるようになります。