码迷,mamicode.com
首页 >  
搜索关键字:malloc    ( 2467个结果
CLR 垃圾回收算法
c#相较于c,c++而言,在内存管理上为程序员提供了极大的方便,解放了程序员与内存地址打交道,提高了程序员的工作效率。比如c中分配的malloc堆空间没有释放导致的内存泄露,数组越界导致的踩内存错误,使用了已释放的内存空间错误等等。这些在C#中统统的都不存在,主要是由于clr提供的安全检查机制...
分类:编程语言   时间:2014-12-27 13:50:29    阅读次数:231
STL源码分析--空间配置器的底层实现 (二)
STL源码分析—空间配置器 空间配置器中门道 在STL中的容器里都是使用统一的空间配置器,空间配置器就是管理分配内存和销毁内存的。在STL将在heap空间创建一个对象分为两个步骤,第一是申请一块内存,第二是在这块内存中初始化一个对象。首先申请空间是由malloc提供,初始化一个对象时由constructor管理。销毁一个对象也是由两步骤完成,第一是销毁空间上的对象,第二是释放这块内存。 同时...
分类:其他好文   时间:2014-12-26 16:48:26    阅读次数:119
防止内存泄露
为了防止内存泄露,养成检测内存分配/释放是否成功的良好习惯: 1,动态分配内存的时候检测是否分配成功,如果不成功请返回友好提示~ 2,释放内存的时候将释放后的内存指针指向NULL,以保证不能被访问~ 因为释放内存后,系统只是回收了指针所指的内存,此时指针是一个野指针本身仍是合法的,(只有有些类似void*的指针了),访问野指针程序当然出现异常~! 例子1:malloc()和free...
分类:其他好文   时间:2014-12-26 11:09:29    阅读次数:143
valgrind内存检查
安装 apt-get install valgrind 测试程序 #include #include int*Test(void) { int* x = malloc(10 * sizeof(int)); delete x;// problem 1: heap block overrun, problem 2: memory leak --x not free, ...
分类:其他好文   时间:2014-12-25 16:29:15    阅读次数:118
android查看内存使用情况
1. 在IDE中查看Log信息当程序运行垃圾回收的时候,会打印一条Log信息,其格式如下:D/dalvikvm: , , , GC_Reason表示导致垃圾回收的原因以及当前的回收类型,包括以下几类: GC_CONCURRENT:当堆中对象数量达到一定是触发的垃圾收集 GC_FOR_MALLOC:....
分类:移动开发   时间:2014-12-23 12:15:30    阅读次数:175
malloc、free、new、delete
一、C语言中不定大小多维数组的处理:如果要给二维数组(m*n)分配空间,代码可以写成下面:char **a, i;// 先分配m个指针单元,注意是指针单元// 所以每个单元的大小是sizeof(char *)a = (char **)malloc(m * sizeof(char *));// 再分配...
分类:其他好文   时间:2014-12-23 01:32:20    阅读次数:192
c++一些知識彙總
指针和引用的区别 指针指向一块内存,它的内容是指向内存的地址;引用是某内存的别名 引用使用是无需解引用,指针需解引用 引用不能为空,指针可以为空 引用在定义是被初始化一次,之后不可变;指针可变 程序为指针变量分配内存区域,而引用不需要分配内存区域 new和malloc的区别,free和delete的区别 malloc与free是C++/C语言的标准库函数,...
分类:编程语言   时间:2014-12-22 21:23:13    阅读次数:203
C++智能指针的设计和使用
对于一个C++的使用者来说,指针的使用可以算的上是家常便饭,但是在使用的过程中,很多时候可能会因为new或者malloc了一个对象,而忘记最后结束的时候去释放掉(我就会犯这样子的错误),从而导致内存泄露。而此时智能指针可能可以帮助我去解决这个问题。 智能指针(smart pointer)是利用个引用计数的策略去处理指针的释放,从而保证指针的安全性。通常情况下,我们会自己去设计一个智能指针类去管理...
分类:编程语言   时间:2014-12-21 16:40:36    阅读次数:227
Nah Lock: 一个无锁的内存分配器
概述我实现了两个完全无锁的内存分配器:_nalloc 和 nalloc。 我用benchmark工具对它们进行了一组综合性测试,并比较了它们的指标值。与libc(glibc malloc)相比,第一个分配器测试结果很差,但是我从中学到了很多东西,然后我实现了第二个无锁分配器,随着核数增加至30,测试...
分类:其他好文   时间:2014-12-21 12:40:31    阅读次数:241
内存的分区
内存一共4个区1.任何在函数内部声明的非static变量,其变量地址本身在栈区。栈是向低地址扩展的数据结构,即栈顶的地址和栈的最大容量是系统预先规定好的。2.任何全局变量或者静态局部变量,其变量地址本身在全局区3.任何指针变量如果用malloc,relloc,calloc,或者c++中的new,指针...
分类:其他好文   时间:2014-12-20 23:20:56    阅读次数:235
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!