相关疑难解决方法(0)

从C/C++调用python方法,并提取其返回值

我想调用一个在C语言的python模块中定义的自定义函数.我有一些初步代码可以做到这一点,但它只是将输出打印到stdout.

mytest.py

import math

def myabs(x):
    return math.fabs(x)
Run Code Online (Sandbox Code Playgroud)

TEST.CPP

#include <Python.h>

int main() {
    Py_Initialize();
    PyRun_SimpleString("import sys; sys.path.append('.')");
    PyRun_SimpleString("import mytest;");
    PyRun_SimpleString("print mytest.myabs(2.0)");
    Py_Finalize();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如何将返回值提取到C double并在C中使用它?

c c++ python python-embedding python-c-api

49
推荐指数
4
解决办法
6万
查看次数

标签 统计

c ×1

c++ ×1

python ×1

python-c-api ×1

python-embedding ×1