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

Ben*_*Ben 7 c++ java 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.

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

小智 5

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

您可以在SWIG文档的Java部分的" 24.5跨语言多态使用导向 " 一章中找到解决方案.


Edw*_*nge 0

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

但是,我只是根据您粘贴的文本的措辞来判断。它可能会也可能不会帮助你。