一些参考资料:
- 1. 使用 C 或 C++ 扩展 Python — Python 3.10.13 文档
- C++ 调用python方法 - MasonLee - 博客园
- 《人生苦短,我用python·三》pybind11简单使用-CSDN博客
- 这个里面写了一个回调函数,竟然可以在python中直接继承并实现?感觉十分的神奇
- pybind11 documentation
- 这个是纯头文件绑定到方式的官方文档
- 可以支持C++11的语法(目前在用的就是这个)
- Convert Python Result C++. by ChatGPT
- 我和ChatGPT的某次对话,还是很有参考价值的
- reddit.com/r/QtFramework/comments/zbdzn6/managing_qt_event_loop_in_a_python_console/
- 问题很好,但不是我想要的问题。作者想知道的是如何在py调用byd模块的时候,可以使用QT的事件循环、Timer,但我目前的问题是cpp主线程调用py,还希望不阻塞主线程(主要是希望py的回调能够发生在主线程中)
- Is there a way to call an `async` python method from C++? - Stack Overflow
- 这里似乎提到了一个方式,但似乎并不是很好用
- Pybind11异步调用回调
- 异步调用的一种说法,但并不保真。有的时候我真的怀疑ChatGPT在一本正经的胡说八道
使用cpp调用python的一些场景:
- cpp中其中给一个线程,里面调用python的算法模块,计算计算时间之后可以直接将结果返回给c++
- 和系统有关的,cpp执行一个小的py脚本,可以同步的在主线程运行一段脚本,这个脚本可以对系统的实体进行操控