- 博客(4)
- 资源 (8)
- 收藏
- 关注
转载 初窥内存管理(三)伙伴算法
假设系统的可利用内存空间容量为2m个字(地址从0到2m-1),则在开始运行时,整个内存区是一个大小为2m的空闲块,在运行了一段时间之后,被分隔成若干占用块和空闲块。为了在分配时查找方便起见,我们将所有大小相同的空闲块建于一张子表中。每个子表是一个双重链表,这样的链表可能有m+1个,将这m+1个表头指针用向量结构组织成一个表,这就是伙伴系统中的可利用空间表,如图所示:
2012-04-13 10:40:33 3769
原创 linux下安装protobuf教程+示例(详细)
1 在网站 http://code.google.com/p/protobuf/downloads/list上可以下载 Protobuf 的源代码。然后解压编译安装便可以使用它了。安装步骤如下所示: tar -xzf protobuf-2.1.0.tar.gz cd protobuf-2.1.0 ./configure --prefix=/usr/local/protobuf
2012-04-12 23:33:25 23623 2
原创 重载new和delete来防止c++工程中内存泄漏
在C/C++中指针给编码带来的极大的方便,但是同时由于分配的指针需要编程人员自行释放内存,因此容易造成内存泄漏,C++中自带的new/delete本身没有提供内存泄漏检测的功能,不过我们可以重载这两个函数来追踪内存的分配和释放,以此来检测程序是否出现了内存泄漏。算法的思想是在new一块内存时将该块内存的地址以及出现的文件和行号信息记录到一个map数据结构中,以内存地址作为key。释放该内存时将ma
2012-04-08 15:29:54 7954
原创 c++/cpp中auto_ptr用法分析
本文将分析一下c++中自带的auto_ptr在使用中需要注意的一个问题。首先看一段代码:// auto_ptr example#include #include using namespace std;int main () { auto_ptr p1 (new int); *p1.get()=10; { auto_p
2012-04-08 11:30:02 6008 1
Real-Time-Rendering
2015-08-17
斐波那契堆
2011-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人