in c function f(char *p) 一块memory 的复制
原本用SWIG 转出来的module来使用 ,可是用create_string_buffer传给
function f 会遇到 argument type 不对
后来把C编译成 share library 然后用CDLL loadlibrary来使用
lib = CDLL("libtest.so")
dump= lib.f;
dump.argtypes =[c_char_p]
data =create_string_buffer(100)
dump(data)
print repr(data.raw)
这样运作 是没遇到问题 不过资料看起来怪怪的
在C里面资料是 100030029008....
在python印出来是
\x00\x01\x00\x00\x03\x00\x00\x02\x00\t\x00\x08
有些资料会怪怪的, 有人知道该如何让
python create 一块memory 然后给C去写资料吗