python调用c++的库传递二级指针
生活随笔
收集整理的這篇文章主要介紹了
python调用c++的库传递二级指针
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
遇見的問題:需要從python向c++函數中傳入二級指針的參數
char**P的問題:
c_char_datas = (ctypes.c_char_p * file_num)() for j in range(file_num):c_char = (ctypes.c_char*6)()c_char.value = file_list[j].name.encode('utf-8')c_char_datas[j] = ctypes.c_char_p(c_char.value)這樣c_char_datas 就是P,傳入函數就可以了,肯定有其他的方式可以解決,這里只記錄自己使用的一種。
?
int**P的問題:
c_int_arrs = [] for j in range(file_num):value_num = len(file_value_arrs[j])one_int_arr = (ctypes.c_int*value_num)()for m in range(value_num):one_int_arr[m] = file_value_arrs[j][m]c_int_arrs.append(ctypes.cast(one_int_arr, ctypes.POINTER(ctypes.c_int))) p_int_arr = (ctypes.POINTER(ctypes.c_int) * file_num)(*c_int_arrs)這個p_int_arr就是P,目前有正確結果,但是不知道還有沒有其他更好的方式,記錄,自用。
總結
以上是生活随笔為你收集整理的python调用c++的库传递二级指针的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LINUX装魂斗罗游戏,魂斗罗战甲1-支
- 下一篇: python的底层实现,Python封装