如何将变量值从c++传递到Python
How to pass variable value from C++ to Python?
我有一个可以使用c++读取的传感器值,因为它是使用它实现的,我想将一个传感器的位置值(两个float变量)传递给Python。我已经读了很多,我发现共享内存,管道和更多的你知道什么是最好的方法来做到这一点吗?
从你的问题中不清楚这是一个独立的c++程序还是一个库。
如果它是一个独立的程序,使用子进程模块来调用它并读取它的输出。
如果它是一个库,使用Cython构造一个包装该库的Python扩展模块。(使用Cython并不需要;Python扩展可以手工编写。但是它会使任务容易得多。)
@ramtha Z28与您提供的有限信息…你是否可以访问c++代码本身,或者你正在调用DLL?如果有源代码,可以在Cython中包装函数,以便在Python和c++之间进行通信。将所有c++代码块包装在cpdef
语句中,这些语句可以从Python和c++中访问。下面的示例文件向您展示了如何在Cython中包含C程序并与Python交互:https://github.com/cythonbook/examples/tree/master/07-wrapping-c/01-wrapping-c-functions-mt-random
如果它是一个DLL,你必须声明所有的常量,函数,返回值。实际上这个例子可能和你已经在使用的类似:http://people.seas.harvard.edu/~krussell/html-tutorial/wrap_dll.html
我不熟悉python,但是,一个简单的方法是使用一些通信协议,如串行端口或udp,这是一种网络协议。对于实时应用,UDP协议是更好的选择。
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- Pybind11:将元组列表从Python传递到C++
- 如何在c++中使用引用实现类似python的行为
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 递归列出所有目录中的C++与Python与Ruby的性能
- IPC使用多个管道和分支进程来运行Python程序
- 从python中调用C++函数并获取返回值
- Python 3.7 和 excess_args 的 SWIG 问题
- Python中的for循环与C++有何不同
- 使用Pybind11向Python公开Eigen::张量
- Python str to C++ to Python str
- 如何使用Python从C++中读取谷物序列化数据
- 如何在C++中使用pybind11加载一个pickle python列表
- 如何在c++中使用system()来运行包含空格的python脚本
- python集合的C++等价物是什么.计数器
- 如果C++对象的类在另一个boost模块中声明,如何使用boost将指向该对象的指针返回到python
- 从python调用openMP共享库时,未定义opnMP函数
- 使用JsonCpp将数据返回到带有pybind11的python会在python调用中产生Symbol not foun
- 如何将真正的字符串从python c-api转换为python脚本
- Python ctype 'c_char_p' Memory Leak