python自制小工具

python调用c的dll传参--Apple的学习笔记

2021-12-19  本文已影响0人  applecai

一,前言

上篇我说过了,正在开发一个小工具,那么遇到一个小问题,就是crc算法c语言已经有了,我做成dll动态库,后让python调用不就好了。

二,需求

要传变量地址或数组首地址,加长度。返回值为uint。

三,实现

折腾了一把后实现了。原来用的是ctypes技术。

import ctypes
from ctypes import *
dll = ctypes.cdll.LoadLibrary("./crcDll.dll")
CRC=dll.CRC_Cal
CRC.restype=c_uint  # 返回值为uint,否则出现负值
b = [0x11,0x22,0x33,0x44,0x55,0x66,0x77]
N = 7
test_arr=(c_byte*N)(*b)
a=CRC(N,test_arr)
print(hex(a))

四,小结

之前用过python调用dll,但是从来没有传地址。今天又学到一招,小工具也完成了。我就喜欢折腾,总是做相同的事情没意思,哈哈~

上一篇 下一篇

猜你喜欢

热点阅读