c++ - 如何让两个用不同语言编写的不同程序进行链接?
问题描述
我和我的朋友正在做同一个项目,这个项目很大,所以我们拆分了这个项目。到目前为止一切都很好,但真正的问题是我的朋友已经用 C++ 编写了代码,但我已经用 python 编写了代码,现在我编写的一些函数将取决于他编写的函数。就像我使用 python 编写计算器的 GUI 并且加法逻辑是用 C++ 编写的一样。
我们如何链接这两个程序以获得所需的输出?
解决方案
这个问题有不同的可能解决方案,具体取决于您的要求有多复杂。
如果可以为要从 Python 端调用的 C++ 函数制作 C 包装器,则ctypes可能是一种选择。如果 Python 程序需要访问更复杂的 C++ API,请查看swig、 Boost.Python或PyBind11(感谢 @lubgr 提到后者)。但是,如果 C++ 代码可以通过命令行程序访问,并且您的案例从 Python 以这种方式运行它就足够了,请查看此处。
推荐阅读
- vue.js - 登录后 VUA 和 AUTH0 未登陆上一个 URL
- node.js - 如何将 fluent-ffmpeg 屏幕截图的输出作为缓冲区而不是直接写入磁盘?
- android - 访问路径...被拒绝 - Xamarin Android
- python - 在类的实例中查找 max()
- minimalmodbus - 在 minimummodbus 中查找有效的 slaveaddresses 或 slaveaddresses 的数量
- android - 无法解析 com.google.gms:google-services:4.3.3
- javascript - 在 React 中发出自定义事件
- r - 无论顺序,按 3 列分组并在 R 中汇总
- javascript - useContext 跨文件导致循环依赖
- sql - 如何插入根据另一列(SQL)中的值设置唯一ID的列?