在16位Windows中是有区别的,因为在16位windows用一个全局堆和局部堆来管理内存,每一个应用程序或dll装入内存时,代码段被装入全局堆,而系统又为每个实例从全局堆中分配了一个64kb的数据段作为该实例的局部堆,用来存放应用程序的堆栈和所有全局或静态变量。而LocalAlloc/GlobalAlloc就是分别用于在局部堆或全局堆中分配内存。
由于每个进程的局部堆很小,所以在局部堆中分配内存会受到空间的限制。但这个堆是每个进程私有的,相对而言分配数据较安全,数据访问出错不至于影响到整个系统。
而在全局堆中分配的内存是为各个进程共享的,每个进程只要拥有这个内存块的句柄都可以访问这块内存,但是每个全局内存空间需要额外的内存开销,造成分配浪费。而且一旦发生严重错误,可能会影响到整个系统的稳定。
不过在Win32中,每个进程都只拥有一个省缺的私有堆,它只能被当前进程访问。应用程序也不可能直接访问系统内存。所以在Win32中全局堆和局部堆都指向进程的省缺堆。用LocalAlloc/GlobalAlloc分配内存没有任何区别。甚至LocalAlloc分配的内存可以被GlobalFree释放掉。所以在Win32下编程,无需注意Local和Global的区别,一般的内存分配都等效于HeapAlloc(GetProcessHeap(),...).

转载于:https://www.cnblogs.com/gmh915/archive/2009/02/25/1945439.html

LOCALALLOC和GLOBALLOC有什么区别? 全局内存和局部内存有什么区别?(转)相关推荐

  1. 全局内存BSS,DATA,RODATA的区别以及其他内存区间相关

    刚接触c语言的时候,了解了全局变量这个概念,只知道所谓全局变量的意思就是代码文件里面所有的函数都可以随时调用修改的变量,而其实这种理解是十分不准确的,但随着后期学习的深入,接触了计算机组成原理和汇编的 ...

  2. Linux中内存buffer和cache的区别

    Linux中内存buffer和cache的区别 分类: LINUX 原文地址:Linux中内存buffer和cache的区别 作者:platinaluo 细心的朋友会注意到,当你在linux下频繁存取 ...

  3. Flash芯片(硬盘)与RAM芯片(内存)存储信息的区别!

    Flash芯片(硬盘)与RAM芯片(内存)存储信息的区别 1.Flash芯片(硬盘) 硬盘就是采用磁性物质记录信息的,磁盘上的磁性物质被磁化了就表示1,未被磁化就表示0,因为磁性在断电后不会丧失,所以 ...

  4. memcpy和memmove的区别以及内存重叠问题

    memcpy和memmove的区别以及内存重叠问题 转自:https://www.codecomeon.com/posts/89/ 区别 memcpy() 和 memmove() 都是C语言中的库函数 ...

  5. linux配置内存buffer,Linux中内存buffer和cache的区别

    Linux中内存buffer和cache的区别 发布时间:2007-08-31 09:52:55来源:红联作者:ivepace free free 命令相对于top 提供了更简洁的查看系统内存使用情况 ...

  6. CUDA C编程权威指南 第四章 全局内存

    基础 一般内存的设计:寄存器->缓存->主存->磁盘存储器 GPU内存设计 修饰符 变量名 存储器 作用域 生命周期 float var 寄存器 线程 线程 float var[10 ...

  7. gpu显存(全局内存)在使用时数据对齐的问题

    全局存储器,即普通的显存,整个网格中的任意线程都能读写全局存储器的任意位置. 存取延时为400-600 clock cycles  非常容易成为性能瓶颈. 访问显存时,读取和存储必须对齐,宽度为4By ...

  8. 16g电脑内存有什么好处_电脑内存8G和16G有什么区别?教你区别电脑内存8G和16G...

    电脑玩家对内存都不陌生,是电脑必不可少的组成部分.很多小伙伴对电脑内存不是很懂,在购买新内存看到有8G和16G的内存,这两者有什么区别呢?对于一般的使用其实没啥区别,但对于游戏要求高的用户来说还是又区 ...

  9. CUDA C 编程权威指南 Grossman 第4章 全局内存

    4.1 CUDA内存模型概述 内存访问和管理是所有编程语言的重要部分. 因为多数工作负载被加载和存储数据的速度所限制,所以有大量低延迟.高带宽的内存对性能是十分有利的. 大容量.低延迟的内存造价高且不 ...

最新文章

  1. 孙立岩 python-basic: 用于学习python基础的课件(五六七八九十)
  2. 安卓端网页浏览过程中实时更新title的web实现
  3. 机器人动力学方程的性质
  4. 安卓学习 之 广播(五)
  5. 硬件:如何选购适合自己的显示器
  6. P3388-[模板]割点(割顶)【tarjan】
  7. 03MFC的ODBC类简介
  8. 【踩坑记录】Tensorflow在Windows下使用
  9. 面对key数量多和区间查询低效问题:Hash索引趴窝,LSM树申请出场
  10. linux虚拟机按键不好用,Linux 虚拟机 vim使用delete键没有退格效果
  11. 虚拟化qemu-img的简单用法。
  12. bat脚本:Java一键编译(Javac java)
  13. SQL Pass北京举办第六次线下活动,欢迎报名
  14. 至今为止碰到的非常妖怪的计算机问题
  15. yt-dlp教程如何下载高清视频
  16. Unity3D教程:回合制游戏实现
  17. 知识点四 图论:dijkstra (HDU 2544 +HDU 1874)
  18. C语言十个数中求出平均值
  19. python ——word ppt 转pdf
  20. apple music学生订阅续期认证网页打不开问题解决办法

热门文章

  1. 排球赛程序(个人作业)
  2. ios手势识别-单击
  3. 关于Puppet不得不说的故事
  4. arduino 操纵杆_用Arduino做一台FPV(第一人称视角)遥控履带车
  5. 新浪php面试题目,新浪php的面试题 收集
  6. python遍历目录压缩文件夹然后在发送邮件_python目录操作之python遍历文件夹后将结果存储为xml...
  7. 行业短信 运营思路_飞信、易信之后 三大运营商要借5G再战微信
  8. android视频聊天桌面小窗口怎么实现,android视频通话悬浮窗的适配
  9. mysql分页的优势_数据库经典分页几种实例及各优缺点
  10. Linux ubuntu中怎么生成随机数,随机数的生成