歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python ctypes中void**的表示

Python ctypes中void**的表示

日期:2017/3/1 9:45:02   编辑:Linux編程

利用ctypes可以方便地調用本地的動態鏈接庫dll,但是C中的“指針的指針”很難表示。

如果dll中有以下函數:

int test(void** p)
{
if(p == NULL)
return -1;
void* a = *p;
if(a == NULL)
return -2;
int* b = (int*)a;
return *b;
}

在python中對其進行不用的測試:

test(None)
return : -1
-------------------------------------------
a = c_void_p(None)
b = pointer(a)
test(b)
return : -2
-------------------------------------------
a = c_int(13)
b = pointer(a)
c = pointer(b)
test(c)
return : 13

則void**的表示方法顯而易見。

推薦閱讀:

《Python開發技術詳解》.( 周偉,宗傑).[高清PDF掃描版+隨書視頻+代碼] http://www.linuxidc.com/Linux/2013-11/92693.htm

Python腳本獲取Linux系統信息 http://www.linuxidc.com/Linux/2013-08/88531.htm

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved