官方文档 : ctypes --- Python 的外部函数库 — Python 3.7.8 文档 https://docs.python.org/zh-cn/3.7/library/ctypes.html
主要使用的模块是ctypes,加载DLL 要使用对应版本的python
以下是本次实践过程
1、导入库
from ctypes import *
2、加载DLL,必须是全路径
IOdll = CDLL("D:\Andy\dirDll\lhio.dll")
3、根据头文件获取C函数,
C语言:LHIO_API int LH_OpenDevice(unsigned int deviceId);
python:def LH_OpenDevice(deviceId)
C语言:LHIO_API int LH_GetDo(unsigned int deviceId, unsigned short &val); //val是返回的变量
python: 这里要获取返回值,需要用到pointer这里数据类型:
val = pointer(c_ushort(0))
IOdll .LH_GetDo(deviceId, val)==0 :
return val[0]
else:
return -1
也可以用val.contents来获取返值。