站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
可执行文件
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
[[Image:exe.jpg|right|250px|thumb|.exe文件]] '''可执行文件''' , 一方面来说,EXE File(可执行[[程序]])是一种可在[[操作系统]][[存储空间]]中浮动定位的可执行程序。MS-[[DOS]]和MS-[[Window]]下,此类文件扩展名为.exe 。WINDOWS操作系统中的[[二进制]]可执行文件,可执行文件分两种一种是后辍名为.COM另一种就是.EXE 。从另一方面来说,可执行文件 (executable file) ,可移植可执行 (PE) 文件格式的文件,它可以加载到[[内存]]中,并由操作系统加载[[程序]]执行。它可以是 .exe文件 .sys文件 .com文件 .bat文件等。 如[[Windows]][[资源管理器]]的[[进程]]:[[explorer]].exe,这类程序通常用来处理或打开处理其它文件。比如:myfile.txt双击打开由windows的explorer.exe程序来进行编辑。 == 发展过程 == *在DOS下,生成一个可执行文件的步骤比较简单,用[[编译器]]将源程序编译为obj文件,再用链接器将obj文件[[链接]]成exe文件,不同语言的开发过程都差不多。[[DOS]]可执行文件中的内容是由[[源程序]]中所写的[[代码]]和数据定义转换而来的。惟一的例外是带覆盖部分(Overlay)的exe文件,它在基本的exe文件后附加了一些自定义的数据,其中可执行部分的长度由文件头偏移0002h和0004h中的长度给出,该长度之后到文件实际长度这部分就是Overlay部分。 *[[Win32]]可执行文件叫做PE文件。PE文件的基本结构和DOS可执行文件有很大的不同。它把程序中的不同部分分成各种节区(Section),其中可以有一个节区是放置各种资源的。所以与DOS软件的开发过程相比,Win32软件的开发中多了一个创建资源文件的步骤。 *程序员用文本编辑器书写汇编源代码(*.asm文件)。与[[C]][[源代码]]类似,asm文件中也可以用include语句包含数据定义和函数声明的头文件,Win32汇编的头文件一般用inc作[[扩展名]]。大部分的include文件是编译器软件包附带提供的。 *在资源文件中,不同类型资源的记录方式是不同的。对话框资源只记录定义值,如对话框的大小、位置等,并非真正存储对话框最后显示在屏幕上的[[像素]]。这些大小、位置等信息最后由Windows解释后才在屏幕上被绘画成像素。 *编译好目标文件*.obj和资源文件*.res后,最后一步是用链接器将它们链接成可执行文件。[[链接]]的时候要用到函数库。在DOS环境下[[编程]]的时候,使用的函数库是静态库。静态库是一些已经编译好的代码模块。当用户在源程序中用到某个函数的时候,链接器从库文件中将这个函数的[[二进制]]代码取出,与obj文件合在一起生成最终的exe文件。但在Win32环境下,大部分的公用函数[[封装]]在[[DLL]]文件中,以[[动态链接]]的方式供用户程序调用。这时候库文件中只需要包含函数在DLL中的位置信息,不再需要有[[二进制]]代码部分。所以链接的时候也只是把库文件中的位置信息取出放入最后的可执行文件中。Win32中这种只包含位置信息的库文件称为导入库。 == 格式分类 == *'''DOS可执行文件''' :最简单的可执行文件格式,可以在DOS和WINDOWS中运行。它通过在文件头添加[[ASCII]][[字符串]]“MZ”(16进制中表示为4D5A)来标识。“MZ”是MS-DOS开发者之一的马克·茨柏克沃斯基(Mark Zbikowski)的姓名首字母缩写。 *'''16位元新可执行文件''' :通过在文件头添加ASCII字符串“NE”来标识。它只能运行在Windows和[[OS]]/2系统,而不能在DOS下运行。 *'''16/32位元混合式线性可执行文件''' :通过在文件头添加ASCII字符串“LE”来标识。它仅用来在Windows 3.x和Windows 9x中替代VxD[[驱动]]。 *'''32位元线性可执行文件''' :通过在文件头添加ASCII字符串“LX”来标识。运行在OS/2 2.0以及更高版本中,也可用于某些DOS扩展。 *'''32位元可执行文件''' :这是最复杂也是目前最流行的可执行文件格式,通过在文件头添加ASCII字符串“PE”来标识。它主要运行于Windows 95和Windows NT以及更高版本的Windows中,也可在BeOS R3中运行。 *'''64位元可执行文件''' :与前一种类似,但使用支持64位元的[[中央处理器]]。因此它仅能在64位元的Windows系统中运行,譬如[[Windows XP]] 64-Bit Edition 和 Windows [[Server]] 2003 64-Bit Edition。引引引 == 防病毒机制 == 在[[计算机]][[病毒]]中绝大部分是文件型。所谓文件型病毒是指此类病毒寄生在可执行文件上,并依靠可执行文件来传播。从数学角度而言,解除这种病毒的过程实际上是病毒感染过程的逆过程。通过检测工作、(跳转、解码),已经得到了病毒体的全部代码,用于还原病毒的数据肯定在病毒体内,只要找到这些数据,依照一定的程式或方法即可将文件恢复,也就是说可以将病毒解除。 == 相关条目 == *[[源代码]] *[[机器语言]] *[[操作系统]] *[[进程]] == 参考来源 == *http://www.hudong.com/wiki/%E5%8F%AF%E6%89%A7%E8%A1%8C%E6%96%87%E4%BB%B6 *http://www.pconline.com.cn/pcedu/empolder/gj/vc/0403/343008.html *http://zhidao.baidu.com/question/10648071.html *http://zhidao.baidu.com/question/107673681.html [[category:软件工程|K]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)