HeapAlloc与malloc的区别
来源:互联网 发布:电视定时开关机软件 编辑:程序博客网 时间:2024/05/16 19:47
malloc是在CRT的内存堆上分配的,这个堆的存在一般来说你是不会关心的
HeapAlloc则不同,你需要给它指定你想从哪个堆上分配,而这个堆是从HeapCreate创建出来的
HeapAlloc大多是用于自己管理堆的情况
malloc可以移植是因为在不同的操作系统上有各自的实现,而所有平台上就叫这个名字。比如在Widnows上,VC中调用malloc时,其实在malloc内部就是通过调用Windows API HeapAlloc在指定的堆上分配内存的,而C++ Builder中调用malloc,其实在malloc内部调用AirtualAlloc,所以不同的编译器也有不同的实现,
但都是以OS的API为基础的,所以你的问题的回答其实是调用与被调用的关系.
malloc(); 和 HeapAlloc(); 都是从堆中分配相应的内存
不同的是一个是c run time的函数 一个是windows系统的函数
这么说你应该可以想到 对于windows程序来说 使用HeapAlloc();会比malloc();效率稍稍高一些
实际也是这样的 其实有许多crt的函数 ms在win中都提供了相似功能的系统函数
HeapAlloc和malloc的区别在于他们属于不同的函数库。前者属于平台sdk,后者则是标准库。
两个函数在分配空间时都是分配在堆中,实现结果也有细微差别。如malloc分配的实际空间可能比你指定的多些
0 0
- HeapAlloc与malloc的区别
- HeapAlloc与malloc的区别
- malloc与heapAlloc的区别
- malloc与HeapAlloc分配的内存
- 2014-03-14周五工作日志:HeapAlloc与malloc的区别
- new malloc heapalloc vitualalloc区别
- VirtualAlloc HeapAlloc malloc new区别
- 不同内存分配方式的区别 VirtualAlloc HeapAlloc malloc new
- Globalalloc/LocalAlloc与HeapAlloc、malloc与new
- VC++中new,malloc,与HeapAlloc
- Windows系统上的VirtualAlloc, HeapAlloc和malloc,new的区别
- GlobalAlloc()和malloc()、HeapAlloc()
- malloc,new,heapAlloc,virtualAlloc
- malloc与calloc的区别
- alloca()与malloc的区别
- Malloc与new的区别
- malloc与new 的区别
- calloc与malloc的区别
- UML时序图总结
- 错误error LNK2019: 无法解析的外部符号 _auxDIBImageLoadW@4
- Redis 起步
- [迅为开发板资料分享]分享一个迅为4412开发板OTG烧录批处理文件
- c++解决 {ctor}构造函数不能有返回类型或者无故缺少“;”(在“using”的前面)的问题
- HeapAlloc与malloc的区别
- 虚析构函数
- HttpClient用POST上传文件
- linux 安装配置java环境
- Annotation自定义注解
- 文字匹配解析例子(读取Json 格式配置文件)
- TCP Incast学习之中遇到的问题
- 遗传算法解决TSP问题
- 聊天登陆之注册界面