- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
默认基地址。Visual C++链接程序使用的默认基地址是0 x 0 0 4 0 0 0 0 0,因为这是在运行Wi n d o w s9 8时可执行文件的映象可以加载到的最低地址。
Ge t M o d u l e H a n d l e函数返回可执行文件或D L L文件加载到进程的地址空间时所用的
句柄/基地址:调用G e t M o d u l e H a n d l e并传递N U L L值,就会返回进程的地址空间中可执行文件的基地址。因此,即使通过包含在D L L中的代码来调用(N U L L),返回的值也是可执行文件的基地址,而不是D L L文件的基地址。
获得一个指向进程的完整命令行的指针,方法是调用G e t C o m m a n d L i n e函数:该函数返回一个指向包含完整命令行的缓存的指针,该命令行包括执行文件的完整路径名。
每个进程都有一个与它相关的环境块。环境块是进程的地址空间中分配的一个内存块。每个环境块都包含一组字符串,
一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。
另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量
进程使用的系统资源比线程多得多,原因是它需要更多的地址空间
线程只有一个内核对象和一个堆栈,保留的记录很少,因此需要很少的内存
过调用G e t T h r e a d Ti m e s函数,线程可以查询它自己的线程时间:
每个进程都被赋予它自己的虚拟地址空间。对于3 2位进程来说,这个地址空间是4 G B,因为3 2位指针可以拥有从0 x 0 0 0 0 0 0 0 0至0 x F F F F F F F F之间的任何一个值。由于每个进程可以接收它自己的私有的地址空间,因此当进程中的一个线程正在运行时,该线程可以访问只属于它的进程的内存。属于所有其他进程的内存则隐藏着,并且不能被正在运行的线程访问。
进程地址空间的这个4 M B分区是Windows 98需要的,目的是维护M S - D O S应用程序与1 6位
应用程序之间的兼容性
当进程被创建并被赋予它的地址空间时,该可用地址空间的主体是空闲的,即未分配的。
若要使用该地址空间的各个部分,必须通过调用Vi r t u a l A l l o c函数(第1 5章介绍)来分配它里边
的各个区域。对一个地址空间的区域进行分配的操作称为保留( r e s e r v i n g )。
G e t S y s t e m I n f o函数将用于检索与主机相关的值
d w P a g e S i z e 用于显示C P U的页面大小。在x86 CPU上,这个值是4 0 9 6字节。在
Alpha CPU上,这个值是8 1 9 2字节。在I A - 6 4上,这个值是8 1 9 2字节
l p M i n i m u m A p p l i c a t i o n A d d r e s s 用于给出每个进程的可用地址空间的最小内存地址。在Windows 98上,这个值是4 194 304,或0 x 0 0 4 0 0 0 0 0,因为每个进程的地址空间中下面的4 M B是不能使用的。在Windows 2000上,这个值是65 536或0 x 0 0 0 1 0 0 0 0,因为每个进程的地址空间中开头的6 4 K B总是空闲的l p M a x i m u m A p p l i c a t i o n A d d r e s s 用于给出每个进程的可用地址空间的最大内存地址。在Windows 98上,这个地址是2 147 483 647或0 x 7 F F F F F F F,因为共享内存映射文件区域和共享
操作系统代码包含在上面的2 GB分区中。在Windows 2000上,这个地址是内核方式内存开始的地址,它不足6 4 K Bd w A l l o c a t i o n G r a n u l a r i t y 显示保留的地址空间区域的分配粒度。截止到撰写本书时,在所有Wi n d o w s平台上,这个值都是65 536
G l o b a l M e m o r y S t a t u s可用于检索关于当前内存状态的动态信息:
调用Vi r t u a l Q u e r y(E x)函数时,p v A d d r e s s参数必须包含你想要
查询其信息的虚拟内存地址。P m b i参数是你必须分配的M E M O RY _ B A S I C _ I N F O R M AT I O N结
构的地址。该结构在Wi n N T. h文件中定义为下面的形式
B a s e A d d r e s s 与p v A d d r e s s参数的值相
您可能关注的文档
最近下载
- 城市排水管网的维护与管理.pptx VIP
- 成渝经济区ppt完整版.pptx VIP
- 《健康管理的基本策略与服务方式》.ppt VIP
- 排水系统中的泵站运行与维护.pptx VIP
- 排水管网维护检修.ppt VIP
- 2025新型智慧城市建设规范第7部分应用标准第9分部分智慧档案技术规范.docx VIP
- 给水排水管道工程 第12章 给水排水管网管理与维护.ppt VIP
- 2024年中式烹调师(高级技师)理论考试题库大全(含答案).docx VIP
- 2025新型智慧城市建设规范第7部分应用标准第13分部分运维管理平台技术规范.docx VIP
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案.docx VIP
文档评论(0)