The malloc package void* malloc(size_t size) void free (void *p) other functions calloc: Version of malloc that initializes allocated block to zero re...
分类:
其他好文 时间:
2014-11-23 17:18:55
阅读次数:
180
Buffer Overflows IA32 Linux Memory Layout Stack Runtime stack (8MB limit) Heap Dynamically allocated storage Allocated by malloc(), calloc(), new()...
分类:
其他好文 时间:
2014-11-23 13:06:18
阅读次数:
207
D/dalvikvm: , , ,
一、GC_Reason 触发垃圾回收的回收的集中原因:
类型
描述
GC_CONCURRENT
内存使用将满时,并发的进行垃圾回收。
GC_FOR_MALLOC
当内存已满应用尝试分配内存时会出触发垃圾回收,所以系统会停止应用进行垃圾整理
GC_HPROF_DUMP_HEAP
当创...
分类:
移动开发 时间:
2014-11-23 11:45:34
阅读次数:
172
1. 几个C语言声明的分析char (*j)[20];j = (char(*)[20]) malloc(20); // j是指向数组的指针const int * grape;int const * grape;int * const grape_jelly;const int * const gra...
分类:
编程语言 时间:
2014-11-22 18:44:26
阅读次数:
188
#include"stdio.h"
#include"malloc.h"
#definedatatypechar
typedefstructbT
{
datatypedata;
structbT*lt,*rt;
}*bitree,BiNode;
voidpreExCreate(bitreebt);
/*递归实现*/
voidFprePost(bitreebt)
{
if(bt)
{
printf("%c",bt->data);
FprePost(bt->lt);
FprePost(bt-&..
分类:
其他好文 时间:
2014-11-20 23:57:45
阅读次数:
308
/*博客地址black4yl.blog.51cto.com*/
#include"stdio.h"
#include"malloc.h"
#include"string.h"
typedefchar*HuffmanCode;/*动态分配数组,存储哈夫曼编码*/
typedefstruct
{
charname;/*存放名称*/
unsignedintweight;/*用来存放各个结点的权值*/
unsignedintparent,LChild..
分类:
其他好文 时间:
2014-11-20 23:57:38
阅读次数:
312
new,malloc,GlobalAlloc详解
相同点:都可用于申请动态内存和释放内存
不同点:
(1)操作对象有所不同。
malloc与free是C++/C
语言的标准库函数,new/delete
是C++的运算符。对于非内部数据类的对象而言,光用maloc/free
无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象消亡之前要自动执行析构函数。由于mallo...
分类:
其他好文 时间:
2014-11-20 20:25:03
阅读次数:
296
释放的主要过程就是根据用户传入的payload, 找到chunk指针, 然后分别检查前一个和后一个chunk是否可以合并. 这里唯一需要注意的就是与dv和top这些特殊chunk的交互.
基本流程如下,
1. 通过用户传入的mem指针计算出chunk指针p. 如果FOOTERS打开, 则通过magic计算出其所属的mspace指针, 并进行校验.
2. 若p是通过direct mmap生成的, 则还原其头尾的fake chunk后直接munmap释放并结束. 详细内容请参考3.4.2小节的说明.
...
分类:
其他好文 时间:
2014-11-20 17:09:17
阅读次数:
247
在书写代码与阅读代码的时候,经常会看到这一句代码: typedef void *HANDLE ,它是何方神圣呢?如何理解呢?
不理解它的时候,感觉它很神奇,知道它以后,它就是个typedef的定义,只不过是void*类型罢了,也就是HANDLE等价于void *,我们可以叫它披着句柄皮的指针(PS:指针和句柄是有区别的,在这说句废话);...
分类:
编程语言 时间:
2014-11-20 15:21:13
阅读次数:
129
堆和栈的区别1.分配方式栈:由系统分配。例如:局部变量 intb ,系统自动为变量b开辟空间。堆:需要程序员主动开辟空间,并指定大小。例如:p = (char *)malloc(1024),开辟的1024字节空间存放在堆中,注意变量p还是在栈中。2.申请后的响应栈:只要所申请的空间小于剩余的空间,系...
分类:
其他好文 时间:
2014-11-19 12:01:39
阅读次数:
140