从Groovy调用C API

3

我知道使用Python调用Posix和Win API更好,但我想知道是否有一种不那么痛苦的方法可以从Groovy调用C API,或者至少从Java调用。

2个回答

4

从Java调用本机平台(隐含地,所有C/C++代码)的官方方式是通过JNI。我不会说这是“不那么痛苦”的。

你可以尝试使用SWIG为您生成大部分不好处理的代码,我已经使用过几次,成功地将一些自己的C代码包装起来。但是,我被迫对我的代码进行了“句柄化”以使生成的Java可读性更强。

我读到的一个选择,但从未亲身使用过的是JNA。看起来比JNI要少做一些工作,但我不能担保它。

这些解决方案都是面向Java的,但我认为您可以在任何JVM托管语言中使用它们。


0
如果你试图调用的是一个COM库,那么 Scriptom是一个可能会起作用的Groovy库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接