一种动态内存管理Malloc/Free服务的链表实现 , 动态内存分配与回收服务,Malloc/Free的实现,最主要的核心内容是单向链表。其数据结构定义如下,一整段内存被SRAM或SDRAM,DRAM由系统的内存管理模块统一管理,这里主要是堆的管理:
typedef struct A_BLOCK_LINK
{
struct A_BLOCK_LINK *pxNextFre...
分类:
其他好文 时间:
2014-07-29 13:21:31
阅读次数:
433
前沿: 字段(field)是一种数据成员,其中容纳了一个值类型的实例或者一个引用类型的引用。正文: CLR支持类型(静态)字段和实例(非静态)字段。对于类型字段,用于容纳字段数据的动态内存是在类型对象中分配的,而类型对象是在类型记载到一个AppDomain时创建的。那么,什么时候要将类型加载到一.....
分类:
其他好文 时间:
2014-07-26 16:58:01
阅读次数:
238
1、编写calloc,内部用malloc。
void *calloc (size_t n, size_t size)
{
char * memory;
memory =(char*) malloc(n * size);
while( memory != NULL)
{
char * ptr;
ptr = memory;
while ( --n >= 0)
{
*pt...
分类:
其他好文 时间:
2014-07-23 22:40:17
阅读次数:
409
《C++ Primer Plus》学习笔记7
第12章 类和动态内存分配
1、动态内穿和类
1)静态数据成员在类声明中声明,在包含类方法的文件中初始化,初始化时使用作用域操作符来指出静态成员所属的类,但如果静态成员是整型或枚举型const,则可以在类声明中初始化。
2)new分配足够的内存的时候一般都是这种形式
len = strlen(s);
str = new char[le...
分类:
编程语言 时间:
2014-07-21 23:29:04
阅读次数:
388
第十一章 动态内存分配
数组在声明的时候,本身作为一个指针常量,它在编译时候内存就已经被分配好了。但是有时候程序不知道这个数组到底有多长,所以,为了防止内存的浪费,C提供了动态内存分配的策略。
其实,作为独立的一章,本章显得内容不多。malloc,free,calloc,realloc就没有了,但是它包含很多用法,也有很多陷阱。
总结:
malloc和calloc函数都用于动态分配...
分类:
其他好文 时间:
2014-07-21 23:23:53
阅读次数:
265
实际上auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,使用它不必每次都手动调用delete去释放内存。当然有利也有弊,也不是完全完美的。
本文从下面的8个方面来总结auto_ptr使用的大部分内容。
1. auto_ptr是什么?
auto_ptr 是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,...
分类:
编程语言 时间:
2014-07-21 22:22:38
阅读次数:
276
写在前面用自己的话解释清楚~智能指针是什么,可分为哪几种类型,各有什么特点,解决了什么问题,怎么解决的?什么是智能指针?智能指针是C++中的一个概念,主要是通过引用计数的方式,解决动态内存的自动释放问题(类似于Java、Python中的垃圾回收)。主要解决程序常见的两个问题:动态的申请的内存没有释放...
分类:
其他好文 时间:
2014-07-19 15:12:31
阅读次数:
352
在论坛上看到过有人说字符串常量存储在只读区域,不能写只能读;而字符数组是栈上,可读可写。#include#includeint main(){ /*字符数组存储于动态内存中,可以进行赋值操作*/ char message[]={'h','e','l','l','\0'}; message[2]='a...
分类:
其他好文 时间:
2014-07-16 21:31:45
阅读次数:
162
1.静态内存,编译时申请,存储在栈,如基本数据类型。2.动态内存由一些没有名字,只有地址的内存块构成。那些内存块是在程序运行期间动态分配的。它们来自一个标准c++库替你管理的“大池子”(内存池),从内存池申请一些内存需要用new语句,他将根据你提供的数据类型分配一块大小适当的内存。你不必担心内存块的...
分类:
编程语言 时间:
2014-07-16 20:05:48
阅读次数:
190
1. 用new 运算符实现动态内存分配第一种用法,分配一个变量:P = new T; T是任意类型名,P是类型为T * 的指针。 动态分配出一片大小为 sizeof(T)字节的内存空间,并且将该内存空间的起始地址赋值给P。比如:int * pn;pn = new int; * pn = 5;第...
分类:
编程语言 时间:
2014-07-16 18:39:49
阅读次数:
193