python呼叫c介面
阿新 • • 發佈:2018-11-23
流程: python 載入c庫 ---> 呼叫c庫函式(注意c資料型別 和 python型別對應,靠ctypes模組做中間型別對應)
參考:http://blog.csdn.net/linda1000/article/details/12623527
1、首先pyhton載入c庫
參考:http://blog.csdn.net/caimouse/article/details/38395461
python提供了三種載入動態連結庫的物件 : cdll,windll,oledll
這三種物件有什麼不同?他們使用的函式呼叫約定不同。那麼為什麼有不同的函式呼叫約定?
參考:http://blog.csdn.net/fly2k5/article/details/544112
windows下用屬性的方式載入一個庫,也可以使用建構函式的方式--顯示呼叫建構函式CDLL 或者WinDLL
比如: cdll.kernel32 #載入kernel32這個庫
windll.kernel32 #windll載入kernel32這個庫
linux下用屬性載入庫的這種方式不行,需要使用建構函式載入
比如: libc = CDLL('libc.so.6')
2、把庫函式作為庫的屬性使用,這就是呼叫庫函式
libc = CDLL("msvcrt")
libc.printf("hello world\n")