操作系统
maweitao2014
你好2015
展开
-
堆栈的深度理解
接触过编程的人都知道,高级语言都能通过变量名来访问内存中的数据。那么这些变量在内存中是如何存放的呢?程序又是如何使用这些变量的呢?下面就会对此进行深入的讨论。下文中的C语言代码如没有特别声明,默认都使用VC编译的release版。 首先,来了解一下 C 语言的变量是如何在内存分部的。C 语言有全局变量(Global)、本地变量(Local),静态变量(Static)、寄存器变量(Reg转载 2015-07-18 12:12:48 · 1961 阅读 · 0 评论 -
描述 Windows 操作系统内存管理的方法
(1)有三种方法:虚拟内存,内存映射文件,内存堆栈。 虚拟内存是将页文件加载到内存,适用于比较大的对象或结构; 内存映射文件是将磁盘上文件加载到内存,适用于大文件和单机的进程间内存共享; 堆栈就是动态的分配内存,适用于小对象的创建。 这些在windows核心编程中都描述得很详细的。 (2)当进程要读自己的虚拟地址空间中的数据时: if(数据在物理内存中) {转载 2015-07-18 12:43:55 · 501 阅读 · 0 评论 -
内存溢出和内存泄漏的区别
内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。 内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 memory leak会转载 2015-07-11 15:55:31 · 2754 阅读 · 0 评论