从Java调用本机平台(隐含地,所有C/C++代码)的官方方式是通过JNI。我不会说这是“不那么痛苦”的。 你可以尝试使用SWIG为您生成大部分不好处理的代码,我已经使用过几次,成功地将一些自己的C代码包装起来。但是,我被迫对我的代码进行了“句柄化”以使生成的Java可读性更强。 我读到的一个选择,但从未亲身使用过的是JNA。看起来比JNI要少做一些工作,但我不能担保它。 这些解决方案都是面向Java的,但我认为您可以在任何JVM托管语言中使用它们。