如何编写.EXE文件?

如何编写.EXE文件?,第1张

一个程序从生成到运行起来,这中间是非常复杂的一个过程,光是编译链接生成可执行程序就够研究一辈子。

这个问题里的信息量太大,需要好几本书才能回答。只针对的题目给简单的说说一个.exe是怎么生成的。

程序需要依靠源文件来编译,编译之后生成中间代码(.obj)文件,之后依靠链接器将所有的.obj文件以及依靠的.lib文件链接起来生成一个.exe的文件。

这是最简单的理解,现在稍微展开点说说.exe文件。

在Windows中,所有的可执行文件(.exe, .dll, .ocx, .sys等等)都是按照一定文件内容格式来组织——PE格式。PE格式记录了一个程序文件加载运行过程中的信息,例如文件类型,是一个dll还是一个exe;运行的平台,32位系统还是64位系统等等。当一个程序运行的时候,程序的加载器会根据PE格式的内容将程序文件中的数据段,代码段等等映射到内存中,并正确的导入程序要使用的系统API,同时要将文件中的一些偏移地址修正为映射入内存之后的地址,之后调用程序代码的入口点来执行。就是这样一个过程涉及到了系统的内存管理,进程管理,线程调度等等一系列问题。

而这些PE格式的内容就是链接器在链接程序的时候填入的,换句话说就是链接器生成了一个PE文件用于执行。

每个 *** 作系统都会有自己所支持的可执行文件格式。PE格式是Windows平台独有的。

EXE是在OS/2、MS-DOS和Windows系统中通用的可执行文件的扩展名。exe文件比较复杂,属于一种多段的结构,是DOS最成功和复杂的设计之一。

EXE File 可执行程序 一种可在 *** 作系统存储空间中浮动定位的可执行程序。MS-DOS和MS-WINDOWS下,此类文件扩展名为·exe。exe用以标识可执行文件的文件扩展名。用户在提示行中输入不带 .exe扩展名的文件名后按 Enter 键就能运行可执行程序。

扩展资料

EXE 包括以下几种主要的文件格式:

1、DOS可执行文件:最简单的可执行文件格式,可以在DOS和Windows中运行。它通过在文件头添加ASCII字符串“MZ”(16进制中表示为4D5A)来标识。“MZ”是MS-DOS开发者之一的马克·茨柏克沃斯基(Mark Zbikowski)的姓名首字母缩写。

2、16位新可执行文件:通过在文件头添加ASCII字符串“NE”来标识。它只能运行在Windows和OS/2系统,而不能在DOS下运行。

3、16/32位混合式线性可执行文件:通过在文件头添加ASCII字符串“LE”来标识。它仅用来在Windows 3.x和Windows 9x中替代VxD驱动。

参考资料来源:百度百科—exe文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11521989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存