永发信息网

为程序分配内存是怎么回事

答案:2  悬赏:80  手机版
解决时间 2021-02-16 02:53
为程序分配内存是不是就是告诉CPU那块程序属于那块程序。谢各位帮助解答~

为程序分配内存后怎么让CPU知道那块内存属于那块程序。 不好意思,是我没有把问题讲清楚,我的意思是从计算机组成原理的角度来说,CPU是怎么知道那块内存是空闲的,那块是不可用的。是通过什么知道的,并不是从变量的定义的说的。
最佳答案
不是,先明白一下什么叫做内存.
内存就是存储程序以及数据的地方,比如当我们在使用WPS处理文稿时,当你在键盘上敲入字符时,它就被存入内存中,当你选择存盘时,内存中的数据才会被存入硬(磁)盘。
意思就是说,程序运行的时候,你要存贮一个数据,就需要把它放在内存中.
如果直接申请变量,如int a=3;内存是在栈中,这时候,相当于是编译器帮你自动申请了内存.
如果用 int *p=new int(3);这就相当于是自己在堆中自己申请的.它会占用内存.

上面两种情况都是占用了内存的.

/////
有一个标记,就是数组名,这就是一个标记,也是数组的首地址.

////
如果内存被占用了,CPU就没有办法去用这个内存,系统中有专门的一块标识,比如说酒店的某个房间住了人,就会在酒店的管理系统上看得出该房间有人,或者在房间的门外面注明“此房有人”。
所以c++要求我们在内存不用的时候要释放掉,这样之后,内存才能被CPU重新利用。
全部回答
分配内存失败,是个编程里的东东啊. 程序必须要从硬盘读到内存里才可以执行.而程序执行时需要的数据也要占内存里的一些区域. 然后就出来个分配内存的概念,就是系统给程序(如project64)专门分出一些内存中指定的区域来.而程序执行时也要给它需要处理的数据在内存里划出一块区域来. 现在系统都支持虚拟内存,内存空间可以看成是无穷大的.足够用的. 因为我没用过project64,只能推测如下: project64可能是个大程序,需要在实际内存里划出很大一块,但你的实际内存不够了.所以分配不下内存了.如果这种情况,可以考虑加条内存,或者运行project64时把其他运行的程序都关了,留给project64. 不知道project64可不可以设置占用的内存空间大小呢? 内存条接触不良或者质量不太过关.分配的时候出错了.这种情况可能性不大.一般还会伴随系统的不稳定.经常蓝屏重起之类.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
顺德区钧盈金属制品公司我想知道这个在什么地
请问这是什么茶!
新买的刀子怎么开锋呢?
汨罗市岳阳蓝月亮智能3G手机城怎么去啊,谁知
芜湖一中和南陵一中现在那所学校比较好?额
【凝聚力英文】关于凝聚力方面的英语团结、进
蜘蛛王(大埠路店)我想知道这个在什么地方
【高二英语作文】求高中英语作文求4篇高中英
鼓楼区开封黄鹤楼鸭血粉丝汤在什么地方啊,我
嘴巴小的人适合唱歌吗》?
乎可以组什么词?
我想要一些能做QQ头像的张翰的图片 , 要看
无棣县农村供水总公司地址有知道的么?有点事
郸城县周口东林烩面馆怎么去啊,谁知道地址啊
25+75×3+250简便方法怎么算
推荐资讯
南宁打胎多少钱
单选题下列关于参照物的说法中,错误的是A.物
求一首歌 歌词是这样的 :如果偶尔想起你该怎
我在忻州按揭贷款买了套房,只交了两万的定金
万友商行地址有知道的么?有点事想过去
甘肃省教科文卫工会在哪里啊,我有事要去这个
请问how i met your mother season7 17什么时
我是去年参加中考,差一点,没考上于是上了一
长沙县办签证在哪里?
商业银行的三大经营原则中,流动性原则是指()
野生奥特曼的化石。
我想要做一个仓库管理系统,要用C#,请问你会
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?