IOS开发之Bug--关于C语言数组的容量参数

时间:2021-11-19 01:37:55

这个错误之前没遇过,蛮奇葩的错误,只是一开始不了解,因为它折腾了许久。

先简单概括一下,以后有时间整理一下:

  对应创建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;

这个情况很奇葩,但是我还是因为它折腾了好几个小时。搞得我整体编码进度好慢。特此随笔简单记录,以后有时间详细补充。至于具体原因,以后也抽时间探索一下。

下面再补充一些:

IOS开发之Bug--关于C语言数组的容量参数

IOS开发之Bug--关于C语言数组的容量参数

并且补上这部分代码:链接: http://pan.baidu.com/s/1i5tqW3j 密码: 3w8e <温馨提示:这个密码是经过加密的哦,简单的改了下数字,当然是为了不公开啦,嘻嘻>