如何使用C++将矩阵从C++函数返回到Python

2024-09-27 20:20:53 发布

您现在位置:Python中文网/ 问答频道 /正文

<>我想把一个矩阵从C++函数返回到Python函数。我检查了this解决方案,这是返回数组的一个示例。在

{{cd2>返回一个

函数.cpp:

extern "C" int* function(){
int** information = new int*[10];
for(int k=0;k<10;k++) {
    information[k] = new int[10];
    }
for(int k=0;k<10;k++) {
    for(int l=0;l<10;l++) {
        information[k][l] = 10;
        }
}
return *information;
}

Python代码是: 包装器.py

^{pr2}$

在编译时,我使用:

g++ -c -fPIC function.cpp -o function.o
g++ -shared -Wl,-soname,library.so -o library.so function.o

如果soname不起作用,请使用install_name

g++ -c -fPIC function.cpp -o function.o
g++ -shared -Wl,-install_name,library.so -o library.so function.o

运行python程序后,python wrapper.py这是im的输出:
[10 10 10 10 10 10 10 10 10 10]

只有一行10个元素。我想要10x10矩阵。我做错什么了?提前谢谢。在


Tags: 函数pynewforinformationsolibraryfunction

热门问题