Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 嵌入Python3+;将依赖项转换为C++;二元的_C++_Python 3.x_Cython_Embedded Linux - Fatal编程技术网

C++ 嵌入Python3+;将依赖项转换为C++;二元的

C++ 嵌入Python3+;将依赖项转换为C++;二元的,c++,python-3.x,cython,embedded-linux,C++,Python 3.x,Cython,Embedded Linux,我有一个运行在Linux2.6上的应用程序,它实际上控制着一个机器人。我已经编写了C++基础结构和API,允许用户在C++中为机器人编写一个“主循环”。功能签名为RobotRunlop(const Robot&Robot)。Robot类提供了所需的所有API。当前系统在编译时,设置环境,然后调用RobotRunop。我希望能够用Python写“MyCalf”,而不是C++。基本上,C++启动时调用Python主环,然后使用所提供的API调用C++来控制机器人。 我假设我可以在Python中创建一

我有一个运行在Linux2.6上的应用程序,它实际上控制着一个机器人。我已经编写了C++基础结构和API,允许用户在C++中为机器人编写一个“主循环”。功能签名为RobotRunlop(const Robot&Robot)。Robot类提供了所需的所有API。当前系统在编译时,设置环境,然后调用RobotRunop。我希望能够用Python写“MyCalf”,而不是C++。基本上,C++启动时调用Python主环,然后使用所提供的API调用C++来控制机器人。

我假设我可以在Python中创建一个类似的RooTrununCalf,它包含一个类似的机器人对象,它包含C++的API的钩子。我希望能够将它编译成二进制,然后我可以在机器人上运行到纯C++版本。 这样做的动机是能够以实验的方式更容易地实验机器学习模型和方法。在C++基础上使用TysFooSoad或类似的包运行某些东西将是最终目标

这可能吗?如果python代码使用其他包怎么办?我是否使用cython或pybind11(两者似乎都不是我想要的)


感谢您的帮助

您可以这样做,请参阅关于的Python文档。但更为“标准”的方法将有助于解决这一问题


您将创建一个Python模块(使用特定于Python的C API编译一个共享对象),用于包装Robot类。我会考虑使用或帮助它。您可以在模块加载时运行C++初始化代码,或者在创建类实例时运行(更好)。< /P> < P>您可以这样做,请参见Python文档。但更为“标准”的方法将有助于解决这一问题


您将创建一个Python模块(使用特定于Python的C API编译一个共享对象),用于包装Robot类。我会考虑使用或帮助它。你可以在模块加载或运行时(或更好)运行C++初始化代码。在这种情况下,如果我的主C++程序想把Python代码叉到它自己的进程中,那么它可以简单地调用系统命令“Python MyWrasPER”。在这种情况下,如果我的主要C++程序想把Python代码移植到它自己的进程中,那么它可以简单地调用系统命令“Python MyWrPaseR”。