私はc++ライブラリを持っており、その関数はPython側から呼び出されます。関数の1つは、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として単純に出力すると、符号なしの短距離をはるかに超える値が得られ、ゼロシーケンスはゼロで埋められません。コンパイルは正常に行われますが、実際に実行するとセグメンテーション違反が発生します。どこが間違っているの?