1. 程式人生 > >python呼叫c介面

python呼叫c介面


流程: 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")