对于释放一块内存的一知半解,希望高手不吝赐教!! 谢谢!!
我在解压缩算法中碰到这句话
*(t = &(q->v.t)) = (struct huft *)NULL;
执行的时候出现了为处理的异常,访问冲突。我对一些知识一知半解,似乎听说过编译器回收一块内存的时候判断该处内存的结尾之类的,不知道这个说法的详细内容是什么,怎么理解。
另外一个最现实而且迫切的问题就是这个算法代码在很多开源项目里面都使用了,肯定不会有什么问题,那么请问是不是不编译器的问题呢?应该如何去改呢?? 谢谢!
附:结构定义
huft_t ** t;
register huft_t *q;
typedef struct huft
{
unsigned char e; /* number of extra bits or operation */
unsigned char b; /* number of bits in this code or subcode */
union {
unsigned char n; /* literal, length base, or distance base */
struct huft *t;/* pointer to next level of table */
} v;
}huft_t;