![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
joymshwo
C/C
展开
-
C++内存管理变革(2):最袖珍的垃圾回收器
概述C/C++最被人诟病的,可能是没有一个内存垃圾回收器(确切是说没有一个标准的垃圾回收器)。本文讨论的内容要点是,在C/C++中实现一个最袖珍的、功能受限的垃圾回收器。这个垃圾回收器区别于其他垃圾回收器的主要特征是:1. 袖珍但具实用性。整个垃圾回收器代码行数100行左右(不含空白行),相当小巧。相对而言,它的功能也受到一定的限制。但是它在很多关键的场合恰恰非常有用。该垃原创 2010-01-20 18:02:00 · 329 阅读 · 0 评论 -
C++内存管理变革(3):另类内存管理
概述C/C++最被人诟病的,可能是没有一个内存垃圾回收器(确切是说没有一个标准的垃圾回收器)。本文讨论的内容要点是,在C/C++中实现一个最袖珍的、功能受限的垃圾回收器。这个垃圾回收器区别于其他垃圾回收器的主要特征是:1. 袖珍但具实用性。整个垃圾回收器代码行数100行左右(不含空白行),相当小巧。相对而言,它的功能也受到一定的限制。但是它在很多关键的场合恰恰非常有用。该垃原创 2010-01-20 18:04:00 · 356 阅读 · 0 评论 -
C++内存管理变革
引言C/C++语言的内存管理经历了几次变革,但至今仍未能趋于成熟。这几次变革主要包括:1. 从malloc/free到new/delete。这场变革是OOP技术兴起的产物。C++是强类型语言,new/delete的主要成果也就是加强了类型观念,减少了强制类型转换的需求。但是从内存管理角度看,这个变革并没有多少的突破性。2. 从new/delete转载 2010-01-20 17:21:00 · 471 阅读 · 0 评论 -
c++ 内存管理变革 之 辅助的New过程
我们终于可以开始讨论前文提到的New函数的实现上了。以不带参数的New为例,它的代码如下,可能并没有你想象的那么复杂: #include new> template class Type, class AllocType>inline Type* New(AllocType& alloc){ void* obj = alloc.Alloc(sizeof(Type), Destruct原创 2010-01-20 18:00:00 · 394 阅读 · 0 评论 -
TCP连接探测中的Keepalive 和心跳包
2009-11-14 10:34http://www.alisdn.com/wordpress/?p=14832009-04-10 13:13:21 采用TCP连接的C/S模式软件,连接的双方在连接空闲状态时,如果任意一方意外崩溃、当机、网线断开或路由器故障,另一方无法得知TCP连接已经失效,除非继续在此连接上发送数据导致错误返回。很多时候,这不是我们需转载 2010-01-25 09:46:00 · 630 阅读 · 0 评论 -
解决VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”
的问题 VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”这个错误,那么就说明该程序动态链接了VC9的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL库),以及缺少对应的manifest文件,程序在目标机器上没有找到这些库和配置文转载 2010-01-27 13:46:00 · 634 阅读 · 0 评论