gpt4 book ai didi

python - 用 C 模块扩展 python

转载 作者:太空宇宙 更新时间:2023-11-04 00:55:53 24 4
gpt4 key购买 nike

所以我有一个 C 程序来连接 i2c 设备。我需要从 python 连接到该设备。我只是想知道是否值得将程序移植到 python 模块中,或者移植所涉及的工作量是否超过仅使用子进程执行程序。我知道我确定每个应用程序都不同,但我想知道我是否值得花时间学习 python C 扩展并移植这个程序。

更新:我可以完全访问 C 和 Python 的源代码。但是在 python 方面已经完成了大量工作,如果重要的话,我希望尽可能少地进行更改。而且我还想尽量减少必须对 C 进行的更改。它是可行的,但我没有编写它,它涉及很多解决问题,我宁愿不必重做。

最佳答案

您可以通过多种方式进行操作——Python C API,这似乎是您正在考虑的一种方式,但也是 SWIG , Cython , ctypes ...只要您现有的 C 代码可以制成(具有可“从外部”调用的函数),您就有很多选择。就我个人而言,我推荐 Cython——它越来越像 Python 的一个广泛子集,扩展到足以允许有效地编译成机器代码和直接从 C 库调用函数。

关于python - 用 C 模块扩展 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3517011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com