【问题标题】:How to call Java from C++ using SWIG?如何使用 SWIG 从 C++ 调用 Java?
【发布时间】:2010-07-06 21:59:58
【问题描述】:

我可以使用 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。"

但我找不到它说如何做到这一点!任何帮助是极大的赞赏。谢谢。

【问题讨论】:

    标签: java c++ swig


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      但是,我只是根据您粘贴的文字的措辞来做这件事。它可能对您有帮助,也可能无济于事。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-07
        相关资源
        最近更新 更多