IOS开发之Bug--关于C语言数组的容量参数
这个错误之前没遇过,蛮奇葩的错误,只是一开始不了解,因为它折腾了许久。
先简单概括一下,以后有时间整理一下:
对应创建C语言的byte数组,我一开始使用:Byte b[PROTOCOL_CACHE_BUFFER_SIZE];这个PROTOCOL_CACHE_BUFFER_SIZE(protocol_cache_buffer_size)我把它通过某种方式抽离出来。
我一开始采用常量声明的方式:
在.h文件中:extern int const PROTOCOL_CACHE_BUFFER_SIZE;
在.m文件中:int const PROTOCOL_CACHE_BUFFER_SIZE = 2048;
这样会到后面Byte类型的数组b会出现问题,就是存储的数值会变成别的。
但是我改为下面的方式就对了:
#define PROTOCOL_CACHE_BUFFER_SIZE 4028;
这个情况很奇葩,但是我还是因为它折腾了好几个小时。搞得我整体编码进度好慢。特此随笔简单记录,以后有时间详细补充。至于具体原因,以后也抽时间探索一下。
下面再补充一些:
并且补上这部分代码:链接: http://pan.baidu.com/s/1i5tqW3j 密码: 3w8e <温馨提示:这个密码是经过加密的哦,简单的改了下数字,当然是为了不公开啦,嘻嘻>