读书人

zlib解压uncompress在IPhone4下都没有

发布时间: 2012-11-11 10:07:57 作者: rapoo

zlib解压uncompress在IPhone4上都没问题,在IPhone3GS上总是失败
有用过zlib解压的么?
我调用uncompress在IPhone4上都没问题
在IPhone3GS (ios4.2)上就不行,总是解压失败 看返回值-5,看意思是说目标内存不够,我设的内存已比需要大很多也还是报这个错,有没有人碰到过这样的啊?

[解决办法]
-5应该是buf错误:
Z_BUF_ERROR

C/C++ code
const char * const z_errmsg[10] = {"need dictionary",     /* Z_NEED_DICT       2  */"stream end",          /* Z_STREAM_END      1  */"",                    /* Z_OK              0  */"file error",          /* Z_ERRNO         (-1) */"stream error",        /* Z_STREAM_ERROR  (-2) */"data error",          /* Z_DATA_ERROR    (-3) */"insufficient memory", /* Z_MEM_ERROR     (-4) */"buffer error",        /* Z_BUF_ERROR     (-5) */"incompatible version",/* Z_VERSION_ERROR (-6) */""};
[解决办法]
截取代码注释部分:
if next_in or next_out was Z_NULL), Z_BUF_ERROR if no progress is possible
(for example avail_in or avail_out was zero). Note that Z_BUF_ERROR is not
fatal, and deflate() can be called again with more input and more output
space to continue compressing.

可能是buf不够了。

[解决办法]
源代码中搜索Z_BUF_ERROR也可能得到错误的原因

读书人网 >Iphone

热点推荐