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去寫資料嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.51.33
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1499435901.A.C84.html
→
07/08 18:11, , 1F
07/08 18:11, 1F
→
07/08 18:11, , 2F
07/08 18:11, 2F
→
07/08 18:11, , 3F
07/08 18:11, 3F
→
07/08 18:25, , 4F
07/08 18:25, 4F
→
07/08 18:26, , 5F
07/08 18:26, 5F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
問題
0
10