用户操作
[即时聊天] [发私信] [加为好友]
stanleyxu
stanleyxu的公告
声明:本专栏中出现的文章及图片,如有转载,敬请注明出处。若需商业用途,请与本人联系。订阅RSS

最近评论
linzhengqun:接口生命周期的管理是一件麻烦的事情,我的处理原则一般是:
如果外部模块不需要理会接口的生命周期,我宁可让接口没有引用计数。
如果外部模块(特别是跨语言合作编程)也需要控制接口的生命周期,那就老老实实让它实现引用计数吧。
hekulai:怎么没有写出解决方法呢,不厚道啊
pihome:不需要这么复杂,先Finalize(ARec)再FillChar就OK了
string实际上可以看成是一个带引用计数、内存分配自管理的"pchar",如PRCHacker所说,“FillChar 的作用是对一个内存块进行连续赋值”,FillChar只是把string这个"pchar"指针本身占用的内存清空了,而"pchar"指向的值不会自动释放的,string生命周期自管理的特性被……
PRCHacker:FillChar 的作用是对一个内存块进行连续赋值,内存泄漏出现在第二次调用 FillChar 的时候。经过调试后发现:如果把记录中的 string 字段改成 Pchar 或者删除,就不再有内存泄漏了。

这句话我不赞成,PChar用在记录体中,问题更多
linzhengqun:当然,私有的虚函数或动态函数也会出现在VMT中,不过这其实是很局限的,没有办法做到通用的访问私有函数。
文章分类
收藏
    相册
    友情链接
    CathyEagle 的专栏(RSS)
    GOSURF 浏览器
    存档
    订阅我的博客
    XML聚合  FeedSky
    2007年05月

    原创 你的单例足够单吗

    假设 A 率先调用函数 Clipboard,局部变量 FClipboard会先进行实例化。在实例尚未完全创建完之前,如果 B 也尝试调用函数Clipboard,那么它也会去对 FClipboard 进行实例化。因为变量FClipboard此时依然为空指针。于是乎A、B分别创建了一个 TClipboard 的实例,其中的一个变成了一个内存泄漏。这种泄漏往往发送在构建函数需要耗费较长时间的情况下。如何将上述代码改成线程安全的呢?其实可以通过加入临界区处理来解决。阅读全文>

    发表于 @ 2007年05月11日 09:41:00|评论(loading...)|编辑

    Csdn Blog version 3.1a
    Copyright © stanleyxu