python - 在 Python 应用程序中调用自定义 C 子例程
问题描述
我有两个自定义编写的 C 例程,我想将它们用作大型 Python 应用程序的一部分。我不希望用纯 Python(或 Cython 等)重写 C 代码,尤其是为了保持速度。
我可以从我的 Python 代码中使用我的 C 代码的最简洁、最简单的方法是什么?或者,对我来说,包装我的 C 代码以在我的 Python 源代码中使用的最简洁、最简单的方法是什么?
我知道“最干净”和“最简单”会吸引意见,但我真的只需要一些好的选择来使用自定义预先编写的代码,而不是描述如何使用完整的 C 库作为 CPython 扩展的许多其他答案/教程.
编辑:
Cython 和 ctypes 都被推荐了。在我的情况下,哪个是更好的选择?我最初提到的两个例程中的每一个都非常计算密集。它们用于图像计算和重建,所以我的计划是围绕它们的使用构建一个 Python 应用程序(考虑到我在 Python 中已经拥有的其他功能),并根据需要运行 C 代码以进行处理。
解决方案
使用 cython 包装您的 C 代码。换句话说,使用 Cython 创建一个调用 C 代码的 CPython 扩展。
推荐阅读
- c# - 如何创建xamarin表单按钮左角半径
- android - MPAndroidChart 制作 0-100% StackBarGraph,并在堆栈栏中调整值
- swift - 终端上的`swift build`抛出`错误:找不到根清单`
- mysql - 为什么我无法远程访问 Amazon RDS 上的 MySQL?
- r - 网页抓取时缺课 - 制作 data.frame 有困难
- reactjs - react-bootstrap-table中如何在排序的基础上自定义单行
- swift - 如何修复“无法在扩展中自动合成“协议”的实现?
- android - 带有 Retrofit 2 Cache-Control 的离线模式
- java - 错误:“items”不支持 c:forEach jsp 中的运行时表达式
- r - 在购物篮分析中,我有什么办法只能在关联规则的 lhs 中获得 1 项?