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也可能得到错误的原因