【问题标题】:How to execute a small part of C Code in Python? [closed]如何在 Python 中执行一小部分 C 代码? [关闭]
【发布时间】:2016-09-16 08:54:51
【问题描述】:

我用 Python 编写了一个代码。代码中有一部分进行集成,计算时间非常长。但是相同的集成在 C 中花费的时间要少得多。我想在 C 中运行该部分(这将需要一些输入)并使用输出在 python 中运行其他代码。换句话说,我在 python 中有一个非常大的代码,我想在 C 中运行其中的一小部分。请告诉我该怎么做。

【问题讨论】:

  • 首先,向我们展示至少 Python 代码和 C 代码的一个子集。它是 Python 扩展还是常规 C?
  • 不详细,只推荐SWIG
  • 标题所问的与正文所说的完全相反。在使用外语之前(当然可以),尝试加速你的 Pytoh 代码。通过正确使用 Python(“pythonify”),我已经看到了 10 倍甚至更多的改进。此外,您可能想查看 numpy。
  • 我赞同 SWIG 的建议。去谷歌上查询。你会弄清楚如何在你的代码中使用它。
  • 您也可以尝试通过将代码转换为使用 cython 来稍微更改代码。这是一种类似 python 的语言,可以编译为 C,然后编译为本机代码。它通常会为数字繁重的代码带来巨大的加速。 scipy 还优化了数值积分代码,总体上可能是更好的选择:docs.scipy.org/doc/scipy/reference/integrate.html

标签: python c


【解决方案1】:

您正在寻找ctypes 库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2020-03-17
    相关资源
    最近更新 更多