求推荐 C++中调用 Python 的方案

2018 年 11 月 12 日
 SamsonWang

我需要在 c++中调用 python,目前( 2018 年 11 月)比较主流的方案有哪些呢?请结合自己的实践给出推荐理由。

我目前查资料找到的可能备选方案:

  1. boost.python
  2. pybind11

先谢谢大家~

3871 次点击
所在节点    C
12 条回复
scriptB0y
2018 年 11 月 13 日
能说说你的需求吗? 我觉得一般在 C++ 中需要脚本语言的话,lua 是比较合适的。
anonymous256
2018 年 11 月 13 日
https://blog.csdn.net/VonSdite/article/details/81295056

C++程序中调用命令行的思路,交给让操作系统执行,应该是可行的。
thedrwu
2018 年 11 月 13 日
用了一大圈,还是 swig 最好用。
heliumhgy
2018 年 11 月 13 日
裸写 C 扩展。你提到的那俩货性能开销蛮大的。
htfy96
2018 年 11 月 13 日
FFI 一直都是大坑。如果没有超高性能要求的话可以包装成 RPC,通过 domain socket/TCP 通信,优点是解耦比较彻底
JerryV2
2018 年 11 月 13 日
@heliumhgy
对,使用调用 C API,自己简单包装一下,并不复杂
Wicked
2018 年 11 月 13 日
搜索“ python c 扩展”,很简单的
dychenyi
2018 年 11 月 13 日
swig, cython
initialdp
2018 年 11 月 13 日
ctypes 挺好用
wutiantong
2018 年 11 月 13 日
@heliumhgy 我最近用了一点儿 pybind11,不太明白你说的“性能开销蛮大的”具体是指什么?
chenstack
2018 年 11 月 13 日
我推荐用 pybind11,使用上对 C++的类友好,用着挺舒服的
Arnie97
2018 年 11 月 14 日

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

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

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

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

© 2021 V2EX