【问题标题】:Run python object in C++在 C++ 中运行 python 对象
【发布时间】:2017-08-08 20:11:50
【问题描述】:

我只是有一个关于在 C++ 中运行 python 对象的问题。让我在下面的示例中解释我想要做什么。

int main () {
    // as you know, the python object has its member variables etc, and 
    // I want it to be initialized only once
    py = python_object();   
    while (1) {
        // here, I am hoping to call a member function from the object continously
        // and get a return value. 
        int abc = py.get_num(); 
        if (abc < 0) break;
        do_something_in_my_cpp_code();
    }


}

我在这里谈论这个的python对象Capture oOjbect

如果你们有处理此类事情的经验,我想知道这会有多困难。我也对其他可能的方法持开放态度,例如反向(在 python 脚本中运行 C++ 对象)。谢谢!

【问题讨论】:

  • 当然是可能真正的问题是需要付出多少努力..
  • 是的,这就是我真正要问的。我想知道这有多难?
  • 那你为什么不问那个问题呢?对“是否可能”的明显回应是“是”——然后我们继续前进。问真正的问题。
  • 作为评论:反向方法很容易使用 SWIG。 (从 Python 调用 C++ 对象)。这样,您也可以正确使用两种语言的力量。你的计划是可能的,但要困难得多。
  • @lalala,相反的方式也适用于我。我想知道这有多难?

标签: python c++


【解决方案1】:

解决方案 1 创建一个小的 python 脚本来调用你的函数并打印结果。 然后,在c++程序中使用popen调用python脚本并取回显示的值。

解决方案 2 在你的 c++ 程序中嵌入 python https://docs.python.org/2/extending/embedding.html

如果你只有很少的 python 调用,我认为解决方案 1 是更快更安全的方法。

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 2015-11-21
    • 2018-09-28
    • 1970-01-01
    相关资源
    最近更新 更多