編程語(yǔ)言學(xué)哪個(gè)好 怎樣用python調(diào)用dll?
怎樣用python調(diào)用dll?如何利用python調(diào)用編譯好的dll庫(kù)?這并不難。它主要使用Python的ctypes模塊。接下來(lái),我將簡(jiǎn)要介紹一下實(shí)現(xiàn)過(guò)程。實(shí)驗(yàn)環(huán)境是win10python3.6py
怎樣用python調(diào)用dll?
如何利用python調(diào)用編譯好的dll庫(kù)?
這并不難。它主要使用Python的ctypes模塊。接下來(lái),我將簡(jiǎn)要介紹一下實(shí)現(xiàn)過(guò)程。實(shí)驗(yàn)環(huán)境是win10python3.6pycharm5.0,主要內(nèi)容如下:
1。在這里為了方便解釋問(wèn)題,我編譯了一個(gè)簡(jiǎn)單的DLL庫(kù),源代碼如下,非常簡(jiǎn)單,一個(gè)帶參數(shù)的mul函數(shù):
編譯成功后,將在當(dāng)前發(fā)行目錄下生成一個(gè)DLLdllTest.dll接下來(lái),我們創(chuàng)建一個(gè)新的py文件,它的主要代碼如下,非常簡(jiǎn)單簡(jiǎn)單:
程序運(yùn)行截圖如下,已成功調(diào)用add函數(shù),并返回執(zhí)行結(jié)果:
3。在這里我們還可以使用windll來(lái)加載DLL庫(kù),基本步驟都是一樣的,只需直接調(diào)用,如下所示:
程序運(yùn)行截圖如下:
到目前為止,我們已經(jīng)完成了使用Python調(diào)用DLL庫(kù)。一般來(lái)說(shuō),整個(gè)過(guò)程很簡(jiǎn)單,代碼量不多,很容易理解,cdll和WINDL這兩種方式都可以很快完成,只要你熟悉相關(guān)的代碼和例子,練習(xí)幾次,你很快就能掌握,網(wǎng)上還有相關(guān)的教程和資料,如果您感興趣,可以搜索,希望以上分享的內(nèi)容能對(duì)您有所幫助,也歡迎大家發(fā)表評(píng)論和留言。
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
C語(yǔ)言實(shí)際上是一種“老”和“底層”語(yǔ)言。其執(zhí)行效率僅次于匯編語(yǔ)言。
它之所以古老是因?yàn)镃語(yǔ)言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語(yǔ)言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語(yǔ)言中誕生的。
最根本的原因是C語(yǔ)言被設(shè)計(jì)用來(lái)同時(shí)編寫(xiě)匯編語(yǔ)言。從理論上講,它可以用外匯來(lái)表示。匯編語(yǔ)言是最有效的語(yǔ)言。
所以Python是用C語(yǔ)言編寫(xiě)的也就不足為奇了。它與能否生成exe無(wú)關(guān)。
Exe文件是Windows平臺(tái)的專用格式。最簡(jiǎn)單的exe是com可執(zhí)行文件。EXE文件實(shí)際上由引導(dǎo)加載程序和解釋器組成。
由Python語(yǔ)言生成的代碼只能通過(guò)引導(dǎo)加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問(wèn)題。