CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
【经验总结】不能实施并行处理的情况 浅谈并行编程中的任务分解模式
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

globalalloc和malloc的区别

楼主jco()2000-07-06 16:14:00 在 VC/MFC / 基础类 提问

那位大虾指点一二.  
  globalalloc和malloc的区别和各在什末情况下使用  
  问题点数:50、回复次数:6Top

1 楼hyena(hyena)回复于 2000-07-06 16:24:00 得分 0

个人观点:  
  GlobalAlloc是一个Win32   API调用,只能在Win9x,   WinNT上使用,  
  而malloc是一个ANSI   C的标准运行库函数,不但可以在Win9x、nt  
  上使用,还能在其他平台上使用。  
   
  从功能上看,二者完成的是一样的功能Top

2 楼windoze(瞌睡窗)回复于 2000-07-06 16:32:00 得分 30

这两个函数的功能完全不同。  
  GlobalAlloc在Win16中就已经有了,这个函数返回一个句柄,通过这个句柄,两个进程可以共享一块内存,DDE和剪贴板就是通过这个函数交换数据的;malloc是一个库函数,这个函数的功能,是通过内部调用了VirtualAlloc完成的,并且分配的内存不能共享。  
  一般来说,涉及到DDE和剪贴版的内存操作使用GlobalAlloc,大多数程序内部的内存操作,使用malloc  
  如果要使用大块的共享内存,建议使用File   Mapping  
  Top

3 楼WHQ()回复于 2000-07-06 16:34:00 得分 20

malloc等一类函数是运行时库提供了内存管理函数,它内部也是调用GlobalAlloc(WIN16)或32位VirtualAlloc之类的函数,因为GlobalAlloc及VirtualAlloc是以页为单位分的,因此用malloc多次分配小块内存时malloc会把它们合并成一次对GlobalAlloc或VirtualAlloc的调用,即malloc实际是做了一个简单的内存管理Top

4 楼hyena(hyena)回复于 2000-07-06 16:51:00 得分 0

GlobalAlloc是为了与Win16兼容才保留的,在Win32下不要使用Top

5 楼guojin(guojin)回复于 2000-07-06 17:49:00 得分 0

同意hyenaTop

相关问题

  • new和malloc有区别吗?
  • new 和 malloc 的区别???
  • LocalAlloc和GlobalAlloc的区别?
  • mmap和malloc的区别是什么?
  • 请问GlobalAlloc和HeapAlloc有什么区别?
  • c++中malloc()和new的区别
  • malloc() and VirtualAlloc() 的区别?????
  • calloc(num,sizeof(int))和malloc(256*sizeof(int))区别在哪里?
  • -> 和 . 的区别?
  • in和or的区别

关键词

  • 函数
  • 内存
  • globalalloc
  • malloc
  • 调用
  • virtualalloc
  • 使用
  • 共享
  • 库
  • 功能

得分解答快速导航

  • 帖主:jco
  • windoze
  • WHQ

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
惹火投票。。火热进行中...
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
CSDN网站24小时值班电话:13552009689
Copyright © 2000-2009, CSDN.NET, All Rights Reserved
GongshangLogo