我可以在 python 中访问 c++ 或 Java 函数吗
Posted
技术标签:
【中文标题】我可以在 python 中访问 c++ 或 Java 函数吗【英文标题】:Can i access c++ or Java functions inside python 【发布时间】:2011-06-01 10:59:52 【问题描述】:我主要使用 python 进行广泛的算法操作。现在我在 Django 中有我的网站。
我在 c++ 中的库很少,而在 Java 中我在 python 中没有的库很少。或者你可以说我已经有一些 c++ 、 Java 文件,其中编码了一些算法。
我可以使用那些 c++ 或 java 文件在我的 djnago 站点中调用这些函数或进行一些计算吗
【问题讨论】:
【参考方案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 包。我自己没用过,但我知道它存在
【讨论】:
以上是关于我可以在 python 中访问 c++ 或 Java 函数吗的主要内容,如果未能解决你的问题,请参考以下文章
win10无法将mklink/J项识别为mdlet、函数、脚本文件或可运行程序的名称。