我注意到在 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 上运行的程序调用本机库中的代码。)