美文网首页python自制小工具
python调用c的dll传参--Apple的学习笔记

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

作者: applecai | 来源:发表于2021-12-19 17:35 被阅读0次

    一,前言

    上篇我说过了,正在开发一个小工具,那么遇到一个小问题,就是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,但是从来没有传地址。今天又学到一招,小工具也完成了。我就喜欢折腾,总是做相同的事情没意思,哈哈~

    相关文章

      网友评论

        本文标题:python调用c的dll传参--Apple的学习笔记

        本文链接:https://www.haomeiwen.com/subject/syeofrtx.html