【问题标题】:Can i access c++ or Java functions inside python我可以在 python 中访问 c​​++ 或 Java 函数吗
【发布时间】:2011-06-01 10:59:52
【问题描述】:

我主要使用 python 进行广泛的算法操作。现在我在 Django 中有我的网站。

我在 c++ 中的库很少,而在 Java 中我在 python 中没有的库很少。或者你可以说我已经有一些 c++ 、 Java 文件,其中编码了一些算法。

我可以使用那些 c++ 或 java 文件在我的 djnago 站点中调用这些函数或进行一些计算吗

【问题讨论】:

    标签: java c++ python linux


    【解决方案1】:

    当然,对于 C++。包装库的write a module,或使用 ctypes 或 SWIG 之类的东西。

    对于 Java,您最好迁移到 Jython(并相应地使用 django-jython)。

    请注意,在 Python 中同时使用 C++ Java 并非微不足道。

    【讨论】:

    • 对不起,但我的英语不太好,所以你的意思不是微不足道的意思是不简单的意思是困难的。所以你的意思是人们不使用它
    • 需要相当多的知识和技能才能连接 C++、Java 和 Python。
    • 或许可以用gjc将Java代码编译成native library并在其上使用C方法,但是即使库真的编译了,还是很难。
    • 好的,但我最初不会使用它,我只是问这是否可能。实际上,我想在 python 中实现遗传算法和优化算法,我有 java 和 c++ 书籍,它们解释了代码和工作,但不是在 python 中。所以我认为我需要出现我可以桥接它们。 python中也有库,但我想自己编写代码
    • 对于新手来说,使其工作的唯一方法是使用 Jython 而不是 Python 来调用 Java 方法。只要您没有 Java 代码(但只有书中的文字),我建议您简单地用 Python 重写它。这应该很容易。
    【解决方案2】:

    我已经使用Boost.Python 在一定程度上成功地访问了 Python/Django 中的 C++ 库。

    【讨论】:

      【解决方案3】:

      您可以查看 C/C++ 的 http://www.scipy.org/Weave weave 包。我自己没用过,但我知道它存在

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-03
        • 2014-03-08
        相关资源
        最近更新 更多