C++ 在visualc和x2B之间交换数据+;和蟒蛇

C++ 在visualc和x2B之间交换数据+;和蟒蛇,c++,python,controls,pipe,C++,Python,Controls,Pipe,故事是这样的 我有一个Visual C++代码,运行车辆模拟器。模拟器以矢量形式捕获车辆状态,并可从键盘或手动(通过代码)接收控制输入(如转向角、踏板)。我的目标是自动化车辆控制,但是,我已经用Python实现了控制类 我想把车辆的状态从C++代码输入到Python类,其中进行了一些处理。然后,Python类应该输出相应的控制输入,由C++代码接收。 有没有一个简单的方法来实现这一点?我读过类似的帖子,但没有一篇对我来说是清楚的 我考虑的一种方法是使用文件,这两个类都读取和写入一个文件,从中获取

故事是这样的

<>我有一个Visual C++代码,运行车辆模拟器。模拟器以矢量形式捕获车辆状态,并可从键盘或手动(通过代码)接收控制输入(如转向角、踏板)。我的目标是自动化车辆控制,但是,我已经用Python实现了控制类

我想把车辆的状态从C++代码输入到Python类,其中进行了一些处理。然后,Python类应该输出相应的控制输入,由C++代码接收。 有没有一个简单的方法来实现这一点?我读过类似的帖子,但没有一篇对我来说是清楚的

我考虑的一种方法是使用文件,这两个类都读取和写入一个文件,从中获取车辆状态和控制输入,但是,这可能会有繁琐的同步问题

管道也可行,但似乎非常复杂,除非您能提供一个简单的解决方案:):)

下线是,我希望C++类和Python类同时运行,同时互相交换数据。


提前谢谢

你能试试
ctypes


从C++中调用Python中的东西,可以使用.< /p>你可以使用C++代码。

如果你需要同时运行这两个程序,那么就没有简单的方法来做了,你必须在2个独立的进程之间实现异步通信机制。 实现这一点的一种方法是使用套接字。这样,如果需要,控制器和C++应用程序可以在不同的机器上运行。 <>在C++侧,可以将应用程序围绕“代码> Boo::ASIO < /Cord>”,从Python控件应用程序读取消息并发送响应。见:

有关python方面的信息,请参见:

注:

<代码> Boo::Python 允许您从Python和Python调用C++,C++/<


<代码> SWIG//COD>也可以用来包装C++类,以便可以从Python调用.< /p> H-XGBI,我不想调用C++函数。相反,我希望C++类和Python类同时运行,同时在它们之间交换数据。这样C++代码就是模拟器,Python类是一个代理!然后你必须在某处提供一个接口。如果不是太难,我建议使用某种形式的REST接口。C++中有很多微型HTTP服务器,允许你这样做。嗨,马克,谢谢,你似乎已经接近答案了,我的两个程序(C++和python)都在同一台机器上,有没有简单的方法来创建异步通信?您提到了套接字,但这可能更复杂,因为它适用于驻留在不同计算机中的程序。这两个程序将作为单独的进程运行,每个进程都有自己的地址空间。这意味着您只能使用标准的进程间通信机制(管道、套接字、共享内存等)。我相信使用套接字是最灵活的选择,因为它允许您在将来运行不同机器的每个应用程序。还有大量关于如何用Python和C++来做这方面的信息,我相信这也是最简单的方法。谢谢!我想是时候学习如何实现套接字了:)