## C语言 c语言提供内存动态分配的函数有:malloc、calloc、realloc,在使用这些函数时必须包含其头文件,分别为:`、、` 1) malloc 函数:` void *malloc(unsigned int size)` 在内存的动态分配区域中分配一个长...
分类:
编程语言 时间:
2014-09-13 20:14:27
阅读次数:
223
项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。...
分类:
其他好文 时间:
2014-09-11 12:28:51
阅读次数:
261
在Linux系统中做系统测试有时会遇到端口占用过多来不及释放,导致应用错误的情况,使用如下的命令即能让端口被快速回收。但需要注意的是,打开tcp_tw_reccycle,kernel会检查对端机器的包的时间戳,所以生产上是否打开tcp_tw_reccycle,还需根据应用而看。sysctl -w n...
分类:
系统相关 时间:
2014-09-09 21:22:29
阅读次数:
298
1.内存四大区域
2.在程序中,变量的声明可以有多份,定义只能有一份
3.寄存器在cpu里面,没有地址
4.c语言内嵌汇编语言
5.auto变量
自动分配内存,自动释放内存。
6、栈的大小由编译器决定
修改栈的方式,右击项目à属性à配置属性à链接器à系统à堆栈保留大小
7.卡死cpu,卡死内存的程序...
分类:
其他好文 时间:
2014-09-06 13:43:23
阅读次数:
207
最近参与一个项目的开发,由于项目是基于浏览器的胖客户端(RIA)应用程序,页面中大量调用iframe。后期测试发现浏览器内存一直居高不下,而且打开iframe页面越多内存占用越大,在IE系列浏览器中尤其明显。所有打开的iframe页面即使关闭了,内存使用也没有明显的下降,IE浏览器在内存占用达到400M左右就变得很卡。分析发现是iframe没有释放造成的,于是对所有已关闭的iframe所占用的内存...
分类:
其他好文 时间:
2014-09-02 21:26:15
阅读次数:
219
C语言的内存分配主要有5个区域:
1、栈区:在执行函数时,函数内的局部变量(不包括static变量)、函数返回值的存储单元在栈区上创建。函数执行结束时这些存储单元自动被释放。栈区内存分配运算内置于处理器的指令集中,效率很高,但分配的内存容量有限。
2、堆区:程序在运行的时候用malloc(calloc、realloc等)申请的内存,要由程序员自己负责用free释放内存。
3、静态存储区:存放...
分类:
编程语言 时间:
2014-09-02 19:55:27
阅读次数:
247
1.1什么是内存管理内存管理是对计算机内存进行分配和使用的技术。内存管理主要存在于多 任务的操作系统中,由于内存资源极其有限,需要在不同的任务之间共享内存,内存管理的存在就是要高效、快速的非配内存,并在适当的时候回收和释放内存,以 保各个任务正常的执行。最常见的内存管理机制有:段式内存管理和页式内存...
分类:
系统相关 时间:
2014-08-31 06:03:20
阅读次数:
306
1.1什么是内存管理
内存管理是对计算机内存进行分配和使用的技术。内存管理主要存在于多任务的操作系统中,由于内存资源极其有限,需要在不同的任务之间共享内存,内存管理的存在就是要高效、快速的非配内存,并在适当的时候回收和释放内存,以保各个任务正常的执行。最常见的内存管理机制有:段式内存管理和页式内存管理。
1.2内存中的地址
早期的16位计算中,寄存器的位宽只有16位,为了能访问到1M Bit...
分类:
系统相关 时间:
2014-08-30 23:11:40
阅读次数:
483
1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/...
分类:
其他好文 时间:
2014-08-30 23:01:10
阅读次数:
193