野指针产生的原因: 1,指针变量和他所指向的内存空间变量是两个不同的概念 2,虽然调用free(p)方法释放了指针所指向的内存空间,但是指针变量并没有重置成NULL 3,造成释放了所指向的内存空间之后,使用 if( p != NULL ) 还会被执行,还会执行其中的 free() 方法避免方法...
分类:
其他好文 时间:
2015-11-21 21:11:08
阅读次数:
154
写出本文仅仅是处于备忘的目的。最近为现在做的软件添加了一个内存回收机制(以前处于某种内存只申请不释放,这并不等于内存泄露,因为我们知道这些内存块在内存中的位置)-- 某一个块内存在不使用的时候将其释放掉,以防止内存缓慢增长。由于以前没有释放内存,所以就不存在野指针的问题。于是乎肯定坑爹的事情就从内存...
分类:
编程语言 时间:
2015-11-06 19:26:22
阅读次数:
248
1、CCArray的遍历看到这里,有些人又按耐不住的要举起西瓜刀了:你不是说3.0beta后已经没有CCArray这货了吗?现在又拿出来作甚?其实我也很无辜,CCArray确实是没了,但在某个不为人知的角落里却藏着__Array这货,我大胆猜测它是CCArray同父异母的兄弟,因为它有着和CCArr...
分类:
其他好文 时间:
2015-11-06 11:11:29
阅读次数:
302
1.指针变量没变被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的默认值是随机的,它会乱指一气。2。指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。3.指针操作超越了变量的作用范围。这种情况让人防不胜防。
分类:
移动开发 时间:
2015-11-04 09:25:27
阅读次数:
206
一、什么是空指针和野指针1.空指针1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是被赋值为0的指针,在没有被具体初始化之前,其值为0。下面两个都是空指针:1 Student *s1 = NULL;2 3 Student *s2 = nil;2.野指针"野指针"不是NULL...
分类:
其他好文 时间:
2015-11-02 17:17:35
阅读次数:
220
值为0 的指针叫 空指针。int *p = 0;当指针为空时,不能使用“*”号操作int * p = 0;printf("%d\n",*p);程序执行出错。但空指针是程序员可以接受的一种情况,只需要加一个 if 判断就能解决! if ( p ) pintf("%d \n", *p );
分类:
其他好文 时间:
2015-10-31 17:04:29
阅读次数:
217
当初遇到这个bug,是不定期的低概率出现,最后找到一个比较容易重现的步骤:启动系统然后进google + 新建一个帐号(注意是新建一个帐号)没几步就重启了这个BUG,一开始追踪也是无头绪的,在这个bug出现时,系统的debuggerd还是有些问题,pt_regs设置的和内核对应不上,tombston...
分类:
移动开发 时间:
2015-10-31 11:23:23
阅读次数:
267
在定义delegate对象的时候,我们经常看到可以使用weak 和 assign 但是到底哪个使用更合适呢?首先:使用assign,声明的对象即使对象销毁了,但是指针依然存在,这样造成声明的对象变成了野指针,这样导致内存泄露。而使用 weak ,当对象销毁时,即将delegate = nil,这样不...
分类:
移动开发 时间:
2015-10-27 13:03:25
阅读次数:
206
1. 空指针2. 野指针3. 数组越界4. 整数除以零5. 格式化输出参数错误6、缓冲区溢出7、主动抛出异常Android上的Crash可以分两种:1、Java Crash java代码导致jvm退出,弹出“程序已经崩溃”的对话框,最终用户点击关闭后进程退出。Logcat 会在“AndroidRun...
分类:
移动开发 时间:
2015-10-23 13:18:10
阅读次数:
466
tolua.type 返回一个 C++ 对象的类型描述字符串。 local?node?=?display.newNode()print(tolua.type(node))?--?输出?CCNode tolua.cast 强制转换对象类型,用途请参考?CCArray。 格式: tolua.cast(对象,...
分类:
其他好文 时间:
2015-10-13 00:23:39
阅读次数:
220