摘要: 事情的起因是这样的,之前同事的代码有一个内存池出现了没有回收的情况。也就是是Pop出来的对象没有Push回去,情况很难复现,所以在Pop里的打印日志,跟踪是谁调用了它,我想在GDB调试里可以追踪调用的栈帧,那也一定有方法实现。首先上网搜索了一下,并没有结果!还好代码量不是很多,只能用最笨的方法,在每 阅读全文
posted @ 2015-11-03 10:26 D.Ritchie 阅读(5553) 评论(1) 推荐(2) 编辑
摘要: 初次接触Cocos2d-x,准备搭建一个hello world的Android环境,问题遇到很多。在此记录,为自己,也为大家,避免重走弯路!具体的环境搭建,可以参考官方的文档。在Windows7平台搭建Cocos2d-x Android开发环境。1.Android-ndk-r10不能放在具有空格... 阅读全文
posted @ 2014-08-04 22:01 D.Ritchie 阅读(1447) 评论(0) 推荐(0) 编辑
摘要: 使用boost库时,经常会看到如下的类class A:public enable_share_from_this在什么情况下要使类A继承enable_share_from_this?使用场合:当类A被share_ptr管理,且在类A的成员函数里需要把当前类对象作为参数传给其他函数时,就需要传递一个指... 阅读全文
posted @ 2014-06-07 00:13 D.Ritchie 阅读(4695) 评论(0) 推荐(2) 编辑
摘要: 快速排序和归并排序一样,也使用了分治思想。最关键的步骤是分解,例如,对数组A[p..r]进行分解。划分为2个子数组A[p..q - 1]和A[q + 1..r]。A[p..q - 1]中每一个元素都小于等于A[q],A[q + 1..r]中的每一个元素都大于等于A[q]。伪码: 1 PARTITIO... 阅读全文
posted @ 2014-06-05 22:33 D.Ritchie 阅读(1336) 评论(2) 推荐(0) 编辑
摘要: 归并排序完全遵循分治模式,主要操作分为三步:1.分解:分解待排序的n个元素序列为2个n/2个元素的子序列。2.解决:使用归并排序递归的排序两个子序列。3.合并:合并两个已排序的子序列。最重要的步骤就是合并2个已经排序的序列。例如:A和B都是从小到大排序的序列。依次对比A的第一个元素和B的第一个元素,... 阅读全文
posted @ 2014-05-30 22:40 D.Ritchie 阅读(1059) 评论(2) 推荐(0) 编辑
摘要: 堆排序算法使用二叉堆实现排序,树上的每一个节点对应数组中的一个元素。第一步:使用MAX_HEAPIFY维护一个最大堆(所有孩子节点都必须小于或等于其父节点)。它的输入为一个数组A和一下标i,调用MAX_HEAPIFY时,假设节点i的左右子树都是最大堆。伪码: 1 LEFT(i) 2 return... 阅读全文
posted @ 2014-05-29 00:00 D.Ritchie 阅读(431) 评论(0) 推荐(0) 编辑