BLoGGer

随笔

随笔归档

象棋

友情链接

BLoG.Stats

  • 随笔 - 15
  • 收藏 - 1
  • 评论 - 0
  • 寻迹 - 0

栏目: 技术记录

谁能告诉我:怎样改变一个Windows内嵌功能模块的实现

发表于 @ 2004-09-21 18:26:00 | 评论与反馈 (1)

堆和栈(2)

发表于 @ 2004-07-21 06:17:00 | 评论与反馈 (8)

堆和栈

栈是系统提供的功能,特点是快速高效,缺点是有限制,数据不灵活;而栈是函数库提供的功能,特点是灵活方便,数据适应面广泛,但是效率有一定降低。栈是系统数据结构,对于进程/线程是唯一的;堆是函数库内部数据结构,不一定唯一。不同堆分配的内存无法互相操作。栈空间分静态分配和动态分配两种。静态分配是编译器完成的,比如自动变量(auto)的分配。动态分配由alloca函数完成。栈的动态分配无需释放(是自动的),也就没有释放函数。为可移植的程序起见,栈的动态分配操作是不被鼓励的!堆空间的分配总是动态的,虽然程序结束时所有的数据空间都会被释放回系统,但是精确的申请内存/释放内存匹配是良好程序的基本要素。

发表于 @ 2004-07-21 06:12:00 | 评论与反馈 (0)