12
返回列表 发新帖
楼主: jml521m
收起左侧

[其他相关] 内存的分配,系统的调用

[复制链接]
aolu
发表于 2013-1-4 04:57:46 | 显示全部楼层
本帖最后由 aolu 于 2013-1-4 04:59 编辑

在10楼的内容上加一点补充.
.exe是可独立运行的程序,dll是不可独立运行的程序.两者的区别是dll中缺少供程序运行的运行环境内容,要使dll运行需要借助exe的运行环境来运行.或者借助已经运行的dll来运行(已运行的dll说明已有运行环境).Microsoft为了简化这个过程提供了rundll32.exe(注意后缀是exe),用它运行dll为系统服务.许多windows的属性窗口都是dll形式的,系统就是用rundll32.exe启动运行它们的. 如果负责分配内存的程序是以dll形式存在的(例如自己编写的内存管理模块)就可以用rundll32.exe运行它.但rundll32.exe本身并不具备什么功能,它只是提供一个运行环境,所以比借助exe或dll运行更快,更省内存,效率更高.
svchost.exe的功能同rundll32.exe基本相同,但svchost.exe以服务形式存在于系统中.系统对它的调用和管理是依照服务的方式运行的.可以简略的这么认为: rundll32.exe是传统dos理念下的衍生物,遵循传统的顺序流程的概念.svchost.exe是遵循windows理念,以服务形式存在并运行的新事物.但两者的主要动能基本相同.svchost.exe因以服务形式运行,其并行性,交互性更好.

评分

参与人数 4经验 +5 人气 +3 收起 理由
袋鼠吱吱 + 1 学习了
心跳回忆 + 5 感谢解答: )
墨池 + 1 学习了:)
shiyuelaohu + 1 感谢解答: )

查看全部评分

墨池
发表于 2013-1-4 10:45:27 | 显示全部楼层
本帖楼主主题帖和10楼、11楼回复帖让人受益匪浅!
jml521m
 楼主| 发表于 2013-1-4 16:02:56 | 显示全部楼层
aolu 发表于 2013-1-4 04:57
在10楼的内容上加一点补充.
.exe是可独立运行的程序,dll是不可独立运行的程序.两者的区别是dll中缺少供程序 ...

感谢补充
jml521m
 楼主| 发表于 2013-1-4 16:04:12 | 显示全部楼层
墨池 发表于 2013-1-4 10:45
本帖楼主主题帖和10楼、11楼回复帖让人受益匪浅!

期待墨池大佬的新作...
墨池
发表于 2013-1-4 22:43:26 | 显示全部楼层
jml521m 发表于 2013-1-4 16:04
期待墨池大佬的新作...

没多少实践折腾!
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-4-25 14:45 , Processed in 0.098243 second(s), 14 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表