2023 年,使用 Python 封装 C 语言库的最佳选择是什么?

2023 年 7 月 8 日
 xiaochuaner

目标是一个算法加速库,使用 C + 汇编写成,,希望把接口经 Python 封装后打包成一个 Python 库,现在最适合的技术选型是什么呢?

  1. ctypes
  2. Cython
  3. pybind
  4. SWIG
  5. cffi

3446 次点击
所在节点    Python
13 条回复
t133
2023 年 7 月 8 日
F2py
t133
2023 年 7 月 8 日
@t133 不好意思你说的是 C 走错片场了
Rang666
2023 年 7 月 8 日
可以看一下 numpy ,tf 这种咋弄的,不过我自己弄就直接 dll 之类的。cython 能和 cpp 连吗?我记得是要单独一套语言吧?
RuiCBai
2023 年 7 月 8 日
pybind11 ,pytorch 官方推荐
hsfzxjy
2023 年 7 月 8 日
pybind11 或者直接 C 手撸
dayeye2006199
2023 年 7 月 8 日
pybind11 加一票
GeruzoniAnsasu
2023 年 7 月 8 日
多前端(保持 C ABI ) => CFFI
只用作 py 的扩展库 => pybind
qq565425677
2023 年 7 月 8 日
记得 numpy 好像用的是 cython ?
Tohrusky
2023 年 7 月 8 日
pybind11 加一票
tangtang369
2023 年 7 月 8 日
pybind11 肯定是这个 但是越来越多后 感觉和 c 又没啥关联了 大家都知道 numpy 是 c 写的 但是 c 并没有个和 python 一样 numpy 直接就能用的
roundgis
2023 年 7 月 8 日
@Rang666 numpy 現在應該還是用 cython
clino
2023 年 7 月 8 日
我问了 chatgpt 和 claude 都回答说 cython ,原来 cython 还能包装 c 库,给了个例子一看确实比较简单
inframe
2023 年 7 月 8 日
pybind11 ,或者 cython

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/955048

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX