百科问答小站 logo
百科问答小站 font logo



malloc申请的内存能是虚拟内存吗,也就是申请的一块新的空间,刚申请就缺页吗? 第1页

  

user avatar   bei-ji-85 网友的相关建议: 
      
malloc申请了一块内存,这块内存本身不在物理内存得地址范围之内,需要经过缺页中断以后从硬盘上调?
或者malloc申请的内存块的地址必须位于物理内存上?

除非你用的是不支持虚地址的嵌入式环境,否则你申请的内存都是虚地址,跟物理内存没什么关系。

至于虚地址是不是有物理内存对应,看OS实现,也看你申请的内存大小。

一般来说,对于malloc:

VC里,申请小内存一般都直接给你可用的内存。

GCC里,申请大内存不一定给你可用的内存。

当然,VC也可以申请内存但不占用物理内存(用别的API),GCC有时候也可以申请那种直接就可以用的物理内存(API不记得是什么了)。




  

相关话题

  有没有什么程序库使得我们可以比较方便的在windows下使用比较新版本的opengl的? 
  C++可以直接返回多值? 
  想做 C++ 方面开发,是基于 Linux 还是基于 Windows 平台? 
  如果让你来重新设计(或者改造)C++,你打算怎么设计或者修改? 
  C语言和C++中,为什么malloc函数需要传入申请的内存大小,而free时候却不需要传大小呢? 
  C++ 类当中为什么要有private? 
  如何评价华为正适配鸿蒙智能手机,面向智能手机低端市场,有望年底前上市? 
  怎能给孩子讲用c++解决鸡兔同笼问题,百钱买百鸡等问题,也就是c++的for循环嵌套枚举? 
  C 语言有什么奇技淫巧? 
  安卓是否在逐渐走向闭源,为什么我国手机公司却仍不开发自己的系统呢? 

前一个讨论
在十五或二十年前乘坐火车是一种什么样的体验?
下一个讨论
为什么夜间可以开行 D 字头动车组,但不能开行 G 字头高速动车组?





© 2025-05-13 - tinynew.org. All Rights Reserved.
© 2025-05-13 - tinynew.org. 保留所有权利