我注意到在 Debian 上尋找 jinput 庫(我相信這裡的“j”意味著這是一個 java 特定庫,而不是一個簡單的包裝器),有兩個包可能適用:
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),不需要編譯。後者在這裡似乎不太可能,但我不確定;事實上,第一個顯示為適用於「所有」平台的包,這與第二個(這是特定於體系結構的清單)相比很有趣。
-java
那麼,在 Debian 命名法中,包和包之間有什麼區別呢-jni
?
我現在猜測該-jni
套件允許“反向”使用該庫,即從 C/C++ 中使用,如果有人可以確認或否認...
答案1
libjinput-java
並由libjinput-jni
建構而成同一來源。該-java
套件包含獨立於體系結構的純 Java JAR,並且該-jni
套件包含特定於體系結構的庫,該庫提供 Java 套件所需的本機功能。請注意libjinput-java
取決於libjinput-jni
:它們不是 jinput 的兩種不同實現,它們是 jinput 的兩個部分,並且兩者都是 jinput 相關軟體工作所必需的。
包分離只是將獨立於體系結構的文件與特定於體系結構的文件分開的情況。
(JNI 是Java 本機介面,它允許在 JVM 上運行的程式呼叫本機庫中的程式碼。