| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:关于程序运行内存的问题,请教!
只看楼主 加入收藏
dayjumpin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2013-4-13
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:8 
关于程序运行内存的问题,请教!
程序运行时,系统会首先加载exe,分配4G内存,然后生产一个进程管理,exe加载是不是就是把机器代码装入这4G内存中,程序的各部分又是怎么组织在内存中的,大神求解释
2013-08-31 12:06
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:4 
这是关于windows程序加载器的问题,看雪的加密与解密里面好像讲过,或者找讲PE格式的书。。

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2013-08-31 12:29
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
程序运行EXE,分配4G内存???
我靠...神人呐...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-08-31 15:16
szyzln
Rank: 2
来 自:湖南张家界
等 级:论坛游民
帖 子:21
专家分:39
注 册:2013-8-31
收藏
得分:4 
程序运行,肯定是在内存里运行的。但不是说,内存运行程序就需要一次性把所有代码装载到内存里
进程和线程才是资源(比如CPU、IO、内存)的最小单位

支持Linux开源精神
2013-08-31 16:25
awisebird_
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:82
专家分:185
注 册:2013-7-6
收藏
得分:0 
假如电脑只有2G内存,如何分配4G空间?一般的程序只会使用内存的一小部分,当然也可以编一个程序把内存填满
2013-08-31 18:10
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:4 
exe程序的内存映像分为:静态和动态,静态分为RO(只读),RW(读写),ZI(BSS),动态的内存为:Stack(栈)和堆(Heap),具体对应了代码的什么内容,楼主自己去找相关资料吧。对于有操作系统的程序,运行时获得的内存是虚拟的,需要转换后才对应物理地址。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-08-31 19:23
youngdavid
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:107
专家分:698
注 册:2012-9-24
收藏
得分:4 
可以看看《linux c一站式编程 》,上面有详细的讲解。
2013-08-31 19:26
cc786857257
Rank: 1
等 级:新手上路
帖 子:15
专家分:6
注 册:2013-8-18
收藏
得分:0 
不是,是缓存运用数据
2013-08-31 21:06
jg658237
Rank: 7Rank: 7Rank: 7
来 自:青藏高原
等 级:黑侠
帖 子:224
专家分:529
注 册:2013-8-8
收藏
得分:4 
肯定要加载到内存运行,通过地址总线和控制总线压入内存,
并不是一次压入内存的,它是通过数据总线一次一次的的送往内存,就像
汽车运货一样,先是收到命令然后再开始传输数据,
各内存的数据在内存中是以堆栈排列的,按照先进后出的原则,
如果堆栈排满了就会溢出内存,所以在这里就存在c语言的缺陷溢出的数据很容易被高手盗取;

武功再高也怕菜刀.
2013-09-02 10:21
快速回复:关于程序运行内存的问题,请教!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018294 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved