我有 c++ 库,其中的函数是从 python 端调用的。其中一个函数获取一个数组指针,该数组在 python 端具有 [0:255] 中的值并定义为
seq1=numpy.array(image,dtype=numpy.uint8).flatten()
seq=numpy.zeros((w*h*3),dtype=numpy.uint8)
函数调用如下
myCppFunction(ctypes.c_void_p(seq.ctypes.data),
ctypes.c_void_p(seq1.ctypes.data),
...)
在 C++ 端,函数定义为
void myCppFunction(ushort *seq, ushort *sequence1, ...)
当我简单地将在 C++ 端收到的内容打印为 seq、sequence1 时,我得到的值远高于无符号短范围,并且零序列没有用零填充。编译运行良好,但实际运行会导致分段错误。我哪里错了?