㈠ 什么是.exe它的运行原理是什么
exe是可执行文件的文件格式之一,可以在系统中直接运行。即是可以被访问的,这要看是什么文件。如是系统文件有些文件在电脑启动,及进行一些操作时必须被举蠢扮执行即访问。否则会造成系统错误但有些文件也是不必被访问的。.exe 扩展名的文件名后按 Enter键就能运行。不过有些是病毒文件,所以要注意区分一下。
原理:
EXE 文件比较复杂,每个EXE文件都有一个文件头,结构如下:
EXE文件头信息
―――――――――――――正灶――――――
├ 偏移量 ┤ 意义 ┤
├00h-01h ┤MZ'EXE文件标记 ┤
├2h-03h ┤文件长度除512的余数 ┤
├04h-05h ┤...............商 ┤
├档含06h-07h ┤重定位项的个数 ┤
├08h-09h ┤文件头除16的商 ┤
├0ah-0bh ┤程序运行所需最小段数 ┤
├0ch-0dh ┤..............大.... ┤
├oeh-0fh ┤堆栈段的段值 (SS) ┤
├10h-11h ┤........sp ┤
├12h-13h ┤文件校验和 ┤
├14h-15h ┤IP ┤
├16h-17h ┤CS ┤
├18h-19h ┤............ ┤
├1ah-1bh ┤............ ┤
├1ch ┤............ ┤
―――――――――――――――――――――――――
.EXE文件包含一个文件头和一个可重定位程序映象。文件头包含MS-DOS用于加载程序的信息,例如程序的大小和寄存器的初始值。文件头还指向一个重定位表,该表包含指向程序映象中可重定位段地址的指针链表。文件头的形式与EXEHEADER结构对应:
EXEHEADER STRUC
exSignature dw 5A4Dh ;.EXE标志
exExraBytes dw ? ;最后(部分)页中的字节数
exPages dw ? ;文件中的全部和部分页数
exRelocItems dw ? ;重定位表中的指针数
exHeaderSize dw ? ;以字节为单位的文件头大小
exMinAlloc dw ? ;最小分配大小
exMaxAlloc dw ? ;最大分配大小
exInitSS dw ? ;初始SS值
exInitSP dw ? ;初始SP值
exChechSum dw ? ;补码校验值
exInitIP dw ? ;初始IP值
exInitCS dw ? ;初始CS值
exRelocTable dw ? ;重定位表的字节偏移量
exOverlay dw ? ;覆盖号
EXEHEADER ENDS程序映象,包含处理器代码和程序的初始数据,紧接在文件头之后。它的大小以字节为单位,等于.EXE文件的大小减去文件头的大小,也等于exHeaderSize的域的值乘以16。MS-DOS通过把该映象直接从文件拷贝到内存加载.EXE程序然后调整定位表中说明的可重定位段地址。
定位表是一个重定位指针数组,每个指向程序映象中的可重定位段地址。文件头中的exRelocItems域说明了数组中指针的个数,exRelocTable域说明了分配表的起始文件偏移量。每个重定位指针由两个16位值组成:偏移量和段值。为加载.EXE程序,MS-DOS首先读文件头以确定.EXE标志并计算程序映象的大小。然后它试图申请内存。首先,它计算程序映象文件的大小加上PSP的大小再加上EXEHEADER结构中的exMinAlloc域说明的内存大小这三者之和,如果总和超过最大可用内存块的大小。则MS-DOS停止加载程序并返回一个出错值。否则面,它计算程序映象的大小加上PSP的大小再加上EXEHEADER结构中exMaxAlloc域说明的内存大小之和,如果第二个总和小于最大可用内存块的大小,则MS-DOS 分配计算得到的内存量。否则,它分配最大可用内存块。分配完内存后,MS-DOS确定段地址,也称为起始段地址,MS-DOS从此处加载程序映象。如果exMinAlloc域和exMaxAlloc域中的值都为零,则MS-DOS把映象尽可能地加载到内存最高端。否则,它把映象加载到紧挨着PSP域之上。接下来,MS-DOS读取重定位表中的项目调整所有由可重定位指针说明的段地址。对于重定位表中的每个指针,MS-DOS寻找程序映象中相应的可重定位段地址,并把起始段地址加到它之上。一旦调整完毕,段地址便指向了内存中被加载程序的代码和数据段。 MS-DOS在所分配内存的最低部分建造256字节的PSP,把AL和AH设置为加载 .COM程序时所设置的值。MS-DOS使用文件头中的值设置SP与SS,调整SS初始值,把起始地址加到它之上。MS-DOS还把ES和DS设置为PSP的段地址.最后,MS-DOS从程序文件头读取CS和IP的初始值,把起始段地址加到CS之上,把控制转移到位于调整后地址处的程序。
㈡ 为什么exe文件用解压软件解压后能直接使用
exe是可执行文件,有些是安装程序,有旦迹些只是执行某个命令。
你的意思是不是烂陆有些这类文件是安装后,要注册或者写到注册表,不能直接用。可有些EXE为什么模历并可以直接用?
因为有些exe,不需要注册表内注册,可以直接用。
㈢ 为什么有的exe文件的可以直接运行,有的exe文件打开还需要安装编译器
因为不同的exe文件在编写的时候使用肢侍的语言版本不同.有些可能采用较老的C++版本,那么可能操作系统默认携带的库就足够. 但是有些人可能会使用最新陵掘的C++11的功能,那么就会用到新的visual studio, 导致用户历汪吵也需要装新的运行时库.
㈣ exe是什么文件 详解exe文件的定义和作用
总之,exe文件是一种非常重要的文件类型,广泛应用于Windows操作系统中的应用程序。通过exe文件,用户可以方便地运行各种软件和脚本,提高计算机的工作效率和便利性。
exe文件是一种可执行文件,通常用于Windows操作系统中的应用程序。exe是英文单词“executable”的缩写,意为“可执行的”。在Windows系统中,exe文件是最常见的文件类型之一,几乎所有的软件都是以exe文件的形式发布的。
exe文件也有一些缺点,例如易受到病毒和恶意软件的攻击。由于exe文件可以直接在计算机上执行烂和桥代码,因此一些恶意程序可能会伪装棚行成exe文件来进行攻击。因此,在下载和安装exe文件时,用户需要谨慎对待,确保文件来源可靠。
exe文件是一种可执行文件,通常用于Windows操作系统中的应用程序。exe是英文单词“executable”的缩写,意为“可执行的”。在Windows系统中,exe文件是最常见的文件类型之一,几乎所有的软件都是以exe文件的形式发布的。
exe文件的作用非常广泛,几乎所有的应用程序都需要使用exe文件才能运行。例如,常见的浏览器软件、办公软件、游戏等都是以exe文件的形式发布的。exe文件还可以用饥猛于安装其他软件或驱动程序,以及运行各种脚本和批处理文件。
㈤ 为什么有些ex e文件可以直接打开,而不用安装。。我们通常就是。双击这个文件先安装再使用。
虽然都是.exe但是有区别,完全是两种搭裤类型
点开后需要安装的.exe文件你可以认为其本身是个压缩包(准确的讲叫“安装包知散简”),将很多文件打包在了里面,在运行时它会释放这些文件到适当的位置,并配置你的系统。一般大型软件都要通过这种方法安装。
直接运行的就是程序本身,一般两种情况:软件本身不是很大,可以直接运行;另一个就是通过上面所说的安装文件安装后生成的掘码.exe文件。
