我正在使用ctypes在Python中实现C++函数.C++函数应该返回一个指向数组的指针.不幸的是我还没弄明白,如何在Python中访问数组.我试过numpy.frombuffer,但那不成功.它只返回了一个任意数字的数组.显然我没有正确使用它.这是一个大小为10的数组的简单示例:
function.cpp的内容:
extern "C" int* function(){
int* information = new int[10];
for(int k=0;k<10;k++){
information[k] = k;
}
return information;
}
Run Code Online (Sandbox Code Playgroud)
wrapper.py的内容:
import ctypes
import numpy as np
output = ctypes.CDLL('./library.so').function()
ArrayType = ctypes.c_double*10
array_pointer = ctypes.cast(output, ctypes.POINTER(ArrayType))
print np.frombuffer(array_pointer.contents)
Run Code Online (Sandbox Code Playgroud)
要编译我正在使用的C++文件:
g++ -c -fPIC function.cpp -o function.o
g++ -shared -Wl,-soname,library.so -o library.so function.o
Run Code Online (Sandbox Code Playgroud)
你有什么建议我在Python中访问数组值吗?
我还没想出如何将焦点设置在ttk.Notebook的特定选项卡上.focus_set不起作用.有可能吗?
提前致谢