发信人: skyice() 
整理人: wenbobo(2002-12-24 09:18:33), 站内信件
 | 
 
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  类别     类型               说明 —————————————————————————————─—  编译器   Automatic(自动)    局部变量或局部对象。在函数入口                              用栈空间建立,退出时释放。 —————————————————————————————─—                              在任何函数作用域外定义的全局变                              还包括字量和全局对象。静态数据           Static(静态)       符串常数。用 static 关键字定义                              的变量和对象也添加到静态数据存                              储区。这种数据的生命期就是其可                              执行文件在内存中驻留的时间。 —————————————————————————————─—                              类成员数据是指根据对类的成员数                              据的定义,在对象中分配的变量和                              对象。这种数据的寿命和它所在的           class(类)          对象相同。局部(堆栈)对象中的数                              据在函数入口分配,退出函数时清                              除。全局(静态)对象中的数据在可                              执行文件驻留内存期间一直存在。 —————————————————————————————─—                              调用 malloc()或 new() 操作符分                              配的内存。对于合理的内存管理,           动态分配           应用程序应当对所有分配的数据区                              和对象调用 free()或者 delete()                              操作符。 —————————————————————————————─—                              调用 GlobalAlloc()分配的内存。                              在 Win16 中, 它对应一个已分配  Win16    全局堆类型         的段。 在 Win32 中这种对象是在                              一个 Win32 进程堆中分配的(就象                              LocalAlloc() 分配的内存)。 ——————————————————————————————─                              调用 LocalAlloc() 分配的内存。                              在 Win16 中, 它对应子段分配。           局部堆             在 Win32 中, 这样的内存驻留在                              Win32 私有堆中,就象 GlobalAl-                              loc() 分配的内存。 ——————————————————————————————─                              在资源 (.rc)文件中定义的只读数                              据。预定义的类型包括菜单、对话           资源               框和字符串表。使用本章将要讲解                              的技术,程序中还可以创建自定义                              资源类型。 ——————————————————————————————─                              存储于内存表中,使用唯一的整数                              ID 访问的字符串。无论是 Win16                               API 还是 Win32 API,都包括 Ad-                              dAtom()、FindAtom() 和 Delete-           原子               Atom()。在内部,Windows 将原子                              用于注册的剪贴板格式和注册的消                              息。应用程序可以把全局原子表用                              于动态数据交换 (DDE) 支持。 全                              局原子例程包括 GlobalAddAtom()                              和 GlobalFindAtom()。 ——————————————————————————————─                              Windows 为每一个已创建的窗口创           窗口额外字节       建的实例数据。窗口额外字节是除                              系统自身存储区以外的私有字节。 ——————————————————————————————─                              Windows为每个已定义的窗口类(不           类额外字节         同于 C++/MFC 窗口类)创建的实例                              数据。类额外字节是除系统存储在                              类中的数据以外的字节。 ——————————————————————————————─                              和 Windows 动态相连的属性。 例                              如, 你可以创建一个 COLOR 属性           属性               并且附上一个颜色索引。通过调用                              Win16 / Win32 例程 SetProp()、                              GetProp()和RemoveProp() 访问。 ——————————————————————————————─                              通过调用 VirtualAlloc() 按页增                              量私有内存 (在 Windows 98 中为  Win32    私有页             4K,Windows NT 中可能更大)分配                              的内存。在用 MEM_RESERVE  标志                              调用这个 Win32 函数时, 它还要                              保留一定范围的地址。 ——————————————————————————————─                              调用 HeapAlloc()分配的内存。调                              用 HeapAlloc() 可以在 Win32 进           Win32 私有堆       程中创建多个堆。通过调用 GetP-                              rocessHeap()可以得到进程的默认                              堆。 ——————————————————————————————─                              基于单个线程分配的内存。共有两           线程局部存储       种类型:动态线程局部存储是调用                               TlsAlloc() 分配的。 静态线程局                              部存储是编译器分配的。 ——————————————————————————————─                              调用  MapViewOfFile() 分配的内                              存,这个函数还根据文件句柄参数           共享页             创建一个内存映射文件的视图。非                              法的文件句柄值(-1)创建共享页,                              合法的文件句柄值创建内存映射文                              件。 ——————————————————————————————─                              用 __declspec(thread) 声明的静                              态(全局)变量,定义可执行映象中           共享区             的共享区。载入内存后,这样的变                              量无论在  Windows 98  中还是在                              Windows NT 中, 都可以在程序的                              进程间共享。 ——————————————————————————————─                              文件调用 MapViewOfFile()连接到           内存映射           进程地址空间的共享页。注意,这                              和创建共享页用的是同一个 API。 ——————————————————————————————─           可执行映象         内存中的可执行文件 (.EXE) 或动                              态链接库 (.DLL)。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ repus (Super) 回帖: 我不知道你的文章实摘的还是写的,但恕我直言,有问题。 class是不是属于一种存储类别也许是见仁见智, 但 __declspec(thread)绝不是共享存储器,而是线程局部存储(TLS)的一种。    -- 欢迎您到C语言版来! 欢迎光临BBS系统版!
  ※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.99.93.6]
  | 
 
 
 |