在Visual c++和Python之间交换数据
Exchanging data between Visual C++ and Python
故事是这样的
我有一个Visual c++代码运行车辆模拟器。模拟器以矢量形式捕获车辆的状态,并可以接收控制输入(例如。转向角度,踏板)可以从键盘或手动(通过代码)。我的目标是自动化车辆控制,然而,我已经在Python中实现了控制类。
我想把车辆的状态从c++代码输入到python类中,在python类中完成一些处理。然后,python类应该输出相应的控制输入,以供c++代码接收。
是否有简单的方法来实现这一点?我读过类似的帖子,但没有一个对我来说是清楚的。
我想到的一种方法是使用文件,两个类都读取和写入一个文件,从中获得车辆状态和控制输入,然而,这可能会有繁琐的同步问题!
流水线也是可行的,但看起来很复杂,除非你能提供一个很好的简单的解决方案:):)
底线是,我希望c++类和python类在相互交换数据的同时并发运行。
提前感谢!
如果你需要同时运行两个程序,那么没有简单的方法可以做到这一点,你将不得不在两个独立的进程之间实现异步通信机制。
实现这一点的一种方法是使用套接字。这样,如果需要的话,您的控制器和c++应用程序可以在不同的机器上运行。在c++端,你可以基于boost::asio
来从Python控制应用程序读取消息并发送响应。参见:Boost Asio
python方面请参见:python sockets HowTo
指出:
boost::python
将允许您从Python调用c++,从c++调用Python。
SWIG
还可以用于包装c++类,以便可以从Python调用它们。
你可以使用Boost::Python来包装你的c++代码
您可以尝试ctypes
(见这里)吗?
要从c++中调用python中的东西,可以使用python API。
相关文章:
- C++在 2 个向量向量之间交换向量
- 在两个整数之间交换最右边的N位
- 在C++和Python之间交换数据的最快方法是什么?
- 使用 DLL 在 c++ 和 C# 之间交换字符串
- 在QTcpSocket和python套接字之间交换数据的正确方法是什么?
- std::在 std::shared_ptr 之间交换,<A>其中 A 具有动态数组
- 在运行C++代码和 python 脚本之间交换信息
- 如何使用某些MPI命令(或组合命令)之间在两个处理器之间交换2D数组中存储的数据
- 在 C++ 和 Ruby 中的进程之间交换信息
- 在 Ruby 和 C++ 之间交换数据
- 为什么链接到librt会在g++和clang之间交换性能
- 在Go(golang)和C++之间交换数据结构(数组)
- 如何使用协议缓冲区和 ZeroMQ 在 c++ 和 java 之间交换二进制数据
- 为什么IEEE-754浮点数不能在平台之间交换
- 在类之间交换变量的正确方法是什么?
- 在C++和 QML 之间交换值
- 如何在数组和指针c++之间交换
- C++:反转数组中的字符串.在两个不同的数组之间交换字符串
- 在集合之间交换(删除/添加)
- 在 UNIX 进程之间交换中等量数据的最佳方式是什么?