weixin_43763201
weixin_43763201
采纳率50%
2021-04-20 01:26

python调用C++的 dll 算法

50

C++解压算法 dunzip32.dll

bool BinaryUnCompress (const char* src, char*& dst, unsigned long& dst_size);

//   BinaryUnCompress:
    //     src:      data to uncompress
    //     dst:      uncompressed data in internally allocated buffer
    //     dst_size: number of bytes of uncompressed data (this is not size of the buffer!)

Python 调用解压数据报错 应如何处理???

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

9条回答

  • juzicode00 桔子code 16天前

    需要先确认下你的python版本,看你用print函数的方法应该是python3,但是报错路径里又有python27? 如果是在python3下: Date变量的类型实际上是字符串,但是ctypes.create_string_buffer()的第1个位置参数要么是int型表示要创建C 数组的大小,要么是bytes类型的对象。假设Date是utf8编码的,可以这样_date = bytes("Date",encoding='UTF8'),然后传入_date。 另外一个没有运行到所以还没有暴露的问题是:第7行用的函数名称叫dununzip(),你要调用的dll库里确实有这个函数吗,你实际是想调用BinaryUnCompress 这个函数吧?

    点赞 1 评论 复制链接分享
  • software7503 CSDN技术专家团-赖老师(软件之家) 17天前

    错误提示全部是乱码,怎么分析原因哦。

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 16天前

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    点赞 评论 复制链接分享
  • weixin_43763201 weixin_43763201 17天前
    dpd=dll.dunzip(ctypes.create_string_buffer(Date.decode("iso-8859-1"),Size),k,16*24*7*4)

    ValueError: string too long

    
     
    点赞 评论 复制链接分享
  • weixin_43763201 weixin_43763201 17天前
    
     

    UnicodeDecodeError: 'utf8' codec can't decode byte 0x98 in position 15: invalid start byte

    
     
    点赞 评论 复制链接分享
  • weixin_43763201 weixin_43763201 17天前

    是否需要先解码,不知道如何解。

    点赞 评论 复制链接分享
  • hushui hushui 17天前

    #-*- coding:UTF-8 -*-

    点赞 评论 复制链接分享
  • weixin_43763201 weixin_43763201 17天前

    Python 2.7  这样调用是否对,尤其参数类型定义。

    点赞 评论 复制链接分享
  • QA_Assistant 有问必答小助手 17天前

    您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

    点赞 评论 复制链接分享

相关推荐