如何使用SWIG从C ++调用Java?

时间:2010-07-06 21:59:59

标签: java c++ swig

我可以使用SWIG从Java调用C ++代码,但是我找不到任何关于如何进行反向的文档(从C ++调用Java)。

官方SWIG文档说(http://www.swig.org/Doc1.3/Java.html#java_overview): “SWIG使Java程序可以轻松地从Java调用C / C ++代码。从历史上看,SWIG无法生成任何代码从C ++调用Java代码。但是,SWIG现在支持完整的跨语言多态性并生成代码以调用在包装C ++虚拟方法时,从C ++到Java。“

但是我找不到它说的怎么做!任何帮助是极大的赞赏。谢谢。

2 个答案:

答案 0 :(得分:5)

实际上这是可能的,我已经基于从C ++继承虚拟类到Java来实现它。

您可以在SWIG文档的Java部分“24.5 Cross language polymorphism using directors”一章中找到解决方案。

答案 1 :(得分:1)

根据声明中相当奇怪的措辞,我会说你想要什么通常不可能。 “......在包装C ++虚拟方法时,从C ++调用Java。” “... call up ...”让我相信你正在调用一个继承接口的受保护或公共成员,“......当包装C ++虚拟方法时”,这让我得出结论,你只能这样做你重写了一个继承的接口。所以听起来实际用例非常狭窄。

但是,我只是基于你粘贴的文字的措辞。它可能会或可能不会帮助你。