CDLL和WinDLL的区别
区别
Python要调用C语言或者C++写的动态连接库,要用到ctypes库
而ctypes库其实背后做了很多,它提供了三个easy载入动态连接库的对象:cdll、windll和oledll
通过访问这三个对象的属性,就能够调用动态连接库的函数了
其中
cdll主要用来载入C语言调用方式(cdecl)windll主要用来载入WIN32调用方式(stdcall)oledll使用WIN32调用方式(stdcall)且返回值是Windows里返回的HRESULT值
而调用时,最需要注意的去别在于cdll是使用调用者清除的栈的方式。而windll和oledll是使用被调用者清除的方式
使用
引入ctypes库
1 | from ctypes import * |
加载dll
stdcall调用约定
1 | Objdll = ctypes.WinDLL("dllpath") |
cdecl调用约定
1 | Objdll = ctypes.CDLL("dllpath") |
如果有更复杂的使用需求,访问这个
https://www.cnblogs.com/baihuitestsoftware/articles/5345089.html


