当前从 Python 调用 C/C++ 代码的有多少种方法、最佳方案是什么?

当前从 Python 调用 C/C++ 代码的有多少种方法、最佳方案是什么?


在开始前我有一些资料,是我根据网友给的问题精心整理了一份「C++的资料从专业入门到高级教程」,

点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!

我知道有三种,每一种各有优缺点,如果你对C/C++和Python都很熟,至少每个都有三年以上经验,第三种是最好的。

1. C/C++该咋写咋写,然后编译成exe/elf格式的可执行文件,Python利用subprocess调用该可执行文件即可,好处是改动小,不好是至少需要两个进程跑代码,而且C/C++和Python通讯很麻烦。

2. C/C++略微改动下,然后编译成dll/so格式的动态库文件,Python利用ctypes调用该库文件即可,好处一个进程内运行,C/C++侧改动小,不好是Python侧需适配代码比较多。

3. C/C++需要include “python.h”,然后编译成pyd/so格式的动态库文件,Python直接import该pyd/so文件(去掉后缀),好处一个进程内运行,Python侧调用简单,跟调纯Python代码一样,不好是不光对C/C++很熟悉,而且还需要研究过Python解释器源码(C写的),才能完成。

相关文章

Linux下跨语言调用C++实践

不同的开发语言适合不同的领域,例如Python适合做数据分析,C++适合做系统的底层开发,假如它们需要用到相同功能的基础组件,组件使用多种语言分别开发的话,不仅增加了开发和维护成本,而且不能确保多种语...

Python中的YAML文件操作:PyYAML库使用指南

YAML文件处理:使用Python PyYAML库PyYAML是一个强大的Python库,专门用来处理YAML(YAML Ain't Markup Language)格式的文件。YAML是一种...