如何从Visual C ++调用jar文件中的方法?

时间:2011-03-24 05:33:13

标签: visual-c++ jar

在我的项目中,我需要使用VC ++调用Jar文件中的方法。有没有办法从VC ++调用jar文件中的方法。如果有示例代码那么它会有很大帮助。

提前致谢! 阿伦

2 个答案:

答案 0 :(得分:1)

IKVM.Net(http://www.ikvm.net)是Java库的.Net实现,它实际上并不是你想要的,但它包含一个名为ikvmc的命令行工具(参见{{3}将java字节码转换为.Net IL代码,并生成.Net程序集DLL。我已成功使用它将Java库转换为一个程序集,然后将其包含在C#项目中。

答案 1 :(得分:1)

如果您使用C ++作为目标语言,则必须使用JNI(http://java.sun.com/docs/books/jni/)。 JNI定义了一个接口,用于交换数据并从/向Java和本机代码调用方法。将JNI包装器写入包含返回和接受输入简单参数(即本机类型,无集合,无数组)的方法的类非常简单。当方法涉及类,集合,数组等时,手动编写JNI包装器会很快变得很麻烦。本文提供了一个很好的概述:http://java.sys-con.com/node/45840。在这种情况下,您可以评估包装器生成器,例如GIWS:http://www.scilab.org/products/other/giws

如果您使用.NET环境作为目标平台,则IKVM是一种选择。然而,当我们不得不为一个真正的项目做这个时,我们更喜欢JNBridge,我们在这个(商业)工具上非常成功。我们没有出于商业原因评估IKVM:我们的客户只需要官方支持的中间件。