BREW使用C++及内存检测

很早之前,我第一次接触BREW的时候,他们告诉我说只能用C,那个时候,BREW好像刚出到SDK 2.1,也说不定没出来,后来,我用C的struct来模拟C++的类及Java类。第一次的接触大概持续了不到两个月,第二次的接触却在两年之后,而这次,接触的也大部分是C的代码,通过查看编译器的资料,知道可以对C++进行大部分支持了,而这一次,却持续了3年之久,并且可能还会持续一段不小的时间。
话题扯远了,第二次的时候,看了下别人的C++代码,每个类里面都要重载new,delete,对于类似我这样的懒人实在是不方便,于是就写了个重载全局new,delete等函数的代码,如下所示:
继续阅读BREW使用C++及内存检测

BREW中对malloc和free检测内存泄露

大约3到4年前,我刚刚开始对BREW进行深入的了解和开发。面对的都是C代码,里面充斥着MALLOC和FREE的调用,难道他们就不会封装一下吗?问题在于,程序可能不是自己写的,嗯,程序的某个地方,在某个时机可能会产生内存泄露;程序在退出时,系统不会自动释放占用的内存吗?答案是NO,直到关机之前,BREW都不会帮你释放,包括最新的BREW 4.0系统。而kddi对此也进行了非常严格的重视,程序进入之前剩余内存和程序退出之后剩余内存误差在5KB之内。系统本身会造成一些内存浪费(碎片),即使在这种情况下,也要求误差5KB。想象一下,查找一个地方的内存泄露是多么的麻烦。因此,换个角度,是否让程序来帮助我们查找,当然,答案是肯定的,不然,我就是在骗人了。
继续阅读BREW中对malloc和free检测内存泄露