本章所讲的就是原文件与可执行文件及其转换。
源代码是用某种编程语言编写的程序,源文件是保存源代码的文件。用任何编程语言编写的源代码经过翻译后得到的是本地代码。本地代码的内容就是各种数值的罗列,每个数值都表示某一个命令或数据。而编译源代码需要经过词法解析,语法解析,词义解析,中间代码生成,优化,最后得到目标代码。源文件仅经过编译,是无法得到可执行文件的编译后,得到的是目标文件,还需要进行链接处理,这就牵扯到链接器,链接器就是把多个目标文件结合,生成一个exe文件的处理,就是链接运行连接的程序,由于编写的代码中包含自己编写的函数和内部函数,向自己编写的函数是存储在源文件的,而内部函数就不在原文件中,是存储在扩展名为.lib的库文件中,库文件是指把多个目标文件集成保存在一个文件中的形式,链接器指定库文件后,就会从中把需要的目标文件抽取出来并同其他目标文件结合起来生成exe文件。
EXE文件的内容分为在配置信息变量组、数据组,当程序加载到内存后会生成堆和栈,栈是用来存储函数内部临时使用的变量以及函数调用时所用的参数的内存区域,堆是用来存储程序运行时的任意数据集对象的内存领域。
标签:可执行文件,文件,第八章,源文件,编写,源代码,链接 From: https://www.cnblogs.com/Xia-ZXN/p/17134998.html