内存管理
文章平均质量分 82
kai8wei
这个作者很懒,什么都没留下…
展开
-
linux内存管理之malloc
对于内核的内存管理,像kmalloc,vmalloc,kmap,ioremap等比较熟悉。而对用户层的管理机制不是很熟悉,下面就从malloc的实现入手.( 这里不探讨linux系统调用的实现机制. ) ,参考了《深入理解计算机系统》和一些网上的资料.首先从http://ftp.gnu.org/gnu/glibc下载glibc库2.21,通常我们用的bsp或者sdk里面的工具链都是编译好的转载 2015-04-26 23:10:40 · 732 阅读 · 0 评论 -
C++实现简单的内存块自动管理
#ifndef __MEM__H#define __MEM__H#includeusing namespace std;//自动管理内存块typedef unsigned char byte;class Mem{private: byte* mem; int size; void ensureMinSize(int minSize);public: Mem();原创 2015-07-26 21:56:13 · 1300 阅读 · 0 评论 -
对 malloc free ,new,delete 的思考与探索——2
一.重载全局new 和delete当重载全局版的new和delete的时候,使默认的版本就不能调用#include#include#include void* operator new(size_t sz)throw(std::bad_alloc)//这个就是我们使用的默认new,也就是plain new在分配失败的情况下,抛出异常std::bad_alloc而不是返回NULL,因原创 2015-07-30 17:23:37 · 832 阅读 · 0 评论 -
对 malloc free ,new,delete 的思考与探索——1
/********************************************************************** * * Copyright (c)2015,WK Studios * * Filename: A.h * * Compiler: GCC vc 6.0 * * Author:WK * * Time原创 2015-07-25 11:22:00 · 813 阅读 · 0 评论 -
如何保证申请内存的地址是4的倍数
前两天遇到了一个需求: 是每次申请一块内存空间 需要的首地址必须要是4的倍数 于是瞬间就想到了这不是就是在应用层重新封装一下malloc 和free 嘛,或者你自己实现一个应用层的内存池自己来管理内存空间的地址分配,等等 实现方法很多,使用者的需求就是只要我申请到的空间我可以使用并且给我返回的首地址必须是4的倍数,于是c语言的结构体内存对齐,以及malloc和free的实现...原创 2017-12-03 14:53:37 · 2069 阅读 · 0 评论