当前位置: 代码迷 >> PB >> pb调用C语言定义的压缩api函数,api参数带有byte far *类型,请问如果申明
  详细解决方案

pb调用C语言定义的压缩api函数,api参数带有byte far *类型,请问如果申明

热度:47   发布时间:2016-04-29 08:48:20.0
pb调用C语言定义的压缩api函数,api参数带有byte far *类型,请教如果申明?
zlib1.dll是一个数据压缩、解压缩的开源包(http://www.zlib.net)
我使用其中的压缩与解压缩的功能
C语言定义的函数:
int uncompress (dest, destLen, source, sourceLen)
  byte far *dest;
  unsigned long far *destLen;
  const byte far *source;
  unsigned long farsourceLen;

int compress (dest, destLen, source, sourceLen)
  byte far *dest;
  unsigned long far *destLen;
  const byte far *source;
  unsigned long far sourceLen;

函数的目的是将source指针指向的长度为sourceLen数据进行压缩,压缩的结果存放到dest指针指向的空间中,dest指针指向长度为destLen的空间,函数的返回值为压缩后数据的长度

在PB中需要将blob类型的数据进行压缩,如何定义api的声明?我使用的很多方式都是有错误,不知道为什么。

pb代码:
blob bb_source,bb_dest
long ll_sourcelen,ll_destlen
bb_source = blob('12345')
ll_sourcelen=len(bb_source)
ll_destlen=ll_sourcelen+ (ll_sourcelen*0.01) + 12 //计算出事先需要分配的空间大小
bb_dest = blob(space(ll_destlen)) //分配空间
后面进行适当的api调用


------解决方案--------------------
直接看这个例子吧
http://www.topwizprogramming.com/freecode/zlibwapi.zip
  相关解决方案