python呼叫dll詳解

2022-02-21 11:58:08 字數 1194 閱讀 9879

參考鏈結

windows安裝mingw-w64教程

公司業務需要,讓我用python呼叫領導寫好的dll庫,經過一段時間的研究,終於呼叫成功,特此來記錄一下過程

開發環境win10+python3.6.8(64位)

安裝這個的目的是生成dll檔案用,參考位址在上面,講一下注意的點。

安裝的時候version選擇最新的即可。

安裝目錄隨便選,不是c盤也可以.

安裝好記得在命令列裡面驗證一下是否正確安裝

#include extern"c

" int double(int

x)float floatadd(float a,float

b) void helloworld(char *str)

void ints(int * arr,int

n) puts(

"");

}

view code

生成dll

g++ dlltest.cpp -shared -o dlltest.dll

from ctypes import *dll = windll.loadlibrary('

e:\code\lx_code\dlltest.dll')

print

(dll)

a=dll.double(123)

print

(type(a))

print(a)

輸出內容

246
到這裡,就算呼叫成功了。

ctypes庫載入dll有好幾種方式,你可以自己嘗試一下用哪一種方式,參考**

stdcall呼叫約定:兩種載入方式

objdll = ctypes.windll.loadlibrary("

dllpath")

objdll = ctypes.windll("

dllpath

")

cdecl呼叫約定:也有兩種載入方式

objdll = ctypes.cdll.loadlibrary("

dllpath

")

objdll = ctypes.cdll("

dllpath

")

#其實windll和cdll分別是windll類和cdll類的物件。

DLL呼叫詳解

像所有程序都有乙個入口點函式一樣,dll也有乙個入口點函式 dllmain。系統在不同的時間呼叫這個入口點函式,通常用於供dll進行每個程序或執行緒的初始化和清除操作。這四個不同時刻分別為dll process attach dll process detach dll tread attach d...

python呼叫dll方法

在python中呼叫dll檔案中的介面比較簡單,例項 如下 如我們有乙個test.dll檔案,內部定義如下 extern c 在python中我們可以用以下兩種方式載入1.import ctypes dll ctypes.windll.loadlibrary test.dll 2.import ct...

python呼叫dll方法

在python中呼叫dll檔案中的介面比較簡單,例項 如下 如我們有乙個test.dll檔案,內部定義如下 extern c 在python中我們可以用以下兩種方式載入1.import ctypes dll ctypes.windll.loadlibrary test.dll 2.import ct...