博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
嵌入式100题(018):在1G内存的计算机中能否malloc(1.2G)?为什么?
阅读量:4166 次
发布时间:2019-05-26

本文共 368 字,大约阅读时间需要 1 分钟。

在1G内存的计算机中能否malloc(1.2G)?为什么?

malloc能够申请的空间大小与物理内存的大小没有直接关系,仅与程序的虚拟地址空间相关。程序运行时,堆空间只是程序向操作系统申请划出来的一大块虚拟地址空间。应用程序通过malloc申请空间,得到的是在虚拟地址空间中的地址,之后程序运行所提供的物理内存是由操作系统完成的。

本题要申请空间的大小为 1.2G=2 30 × 1.2 Byte ,转换为十六进制约为 4CCC CCCC ,这个数值已经超过了 int 类型的表示范围,但还在 unsigned 的表示范围。幸运的是 malloc 函数要求的参数为 unsigned 。见下面的示例代码。

#include 
#include
int main() {
c

转载地址:http://yxrxi.baihongyu.com/

你可能感兴趣的文章
2018.4.30
查看>>
2018.4.31
查看>>
2018.4.32
查看>>
2018.4.33
查看>>
《python基础教程》答案(第一章)
查看>>
2018.4.34
查看>>
2018.4.35
查看>>
2018.4.36
查看>>
我为什么要写博客
查看>>
如何导入pycharm无法导入的包
查看>>
2018.4.37
查看>>
2018.4.38
查看>>
2018.4.39
查看>>
2018.4.40
查看>>
2018.5.27
查看>>
2018.5.51
查看>>
2018.5.52
查看>>
《python基础教程》答案(第四章)
查看>>
2018.5.53
查看>>
2018.5.54
查看>>