首页 > 其他分享 >从源文件到可执行文件

从源文件到可执行文件

时间:2024-02-22 22:23:36浏览次数:25  
标签:可执行文件 文件 EXE 代码 源文件 编译器 源代码 链接

1.计算机只能运行本地代码:CPU能直接解析并运行的不是源代码而是本地代码的程序。作为计算机大脑的CPU也只能解释已经转换成本地代码的程序内容。
2.本地代码的内容:用记事本打开由代码清单的内容转换成本地代码得到的EXE文件。每个数值都表示某一个命令或数据,这里我们用的是原始的dump程序。
3.编译器负责转换源代码:能够把高级语言编写的源代码转换成本地代码的程序称为编译器。。编译器首先读入代码内容,然后再把源代码转换成本地代码。交叉编译器,它生成的是和运行环境中的CPU不同的CPU所使用的本地代码。
4.仅靠编译是无法得到可执行文件的:编译器转换为源代码后,就会生成本地代码,但是本地代码是无法直接运行的。,编译之后还要进行“链接”处理。把多个目标文件结合,生成一个EXE文件的处理就是链接,运行链接的程序就称为链接器
5.启动及库文件:库文件指的是把多个目标文件集中成保存到一个文件中的形式。链接器指定库文件后,就会从中把多个目标文件抽取出来,并同其他文件结合生成EXE文件。
6.DLL文件及导入库:Windows中,API的目标文件,并不是存储在通常的库文件中,而是储存在名为DLL文件的特殊库文件中。存储目标文件的实体,并直接和EXE文件结合的库文件形式称为静态库链接。
7.可执行文件运行时的必要条件:在程序运行时,虚拟的内存地址会转换成实际的内存地址。链接器会在EXE文件开头,追加转换内存地址所需的必要信息,这个信息称为再配置信息
8.程序加载时会生成栈和堆。栈和堆的相似之处在于,他们的内存空间都是在程序运行时得到申请分配的。根据编程语言的不同,对堆用的内存空间进行申请分配和释放的编写方法也是多种多样的。

标签:可执行文件,文件,EXE,代码,源文件,编译器,源代码,链接
From: https://www.cnblogs.com/liuyuxuanjiying231/p/18025238

相关文章

  • 从源代码到可执行文件
    编写好源文件之后,对源文件进行编译和链接就可以生成可执行文件了。编译和链接的操作需要使用编译器和链接器来完成。不同编译语言所编写的源代码翻译成本机代码之后就成了同一种语言。负责将用C语言等高级语言编写的源代码翻译成本机代码的程序称为编译器,用不同的编译语言编写的源......
  • 从源文件到可执行文件
    源代码:用某种编程语言编写的程序;源文件:保存源代码的文件用C语言编写的源文件的扩展名通常是“.c”。源文件是简单的文本文件,windows自带的记事本即可编写。CPU能直接解释并运行本地代码而不是源代码。用任何编程语言编写的源代码,最后都要翻译成本地代码,否则CPU无法理解,本地......
  • 从源文件到可执行文件
        对于本章,首先我们需要了解源代码和源文件,用某种编程语言编写的程序,就是源代码保存源代码的文件就是源文件,而且用C语言编写的源文件的扩展名通常是".c"。但若想要程序运行还需要将源代码转换成本地代码,因为计算机的"大脑"CPU能直接解析的是本地代码。既然我们知道了,要转......
  • 《程序是怎样跑起来的》——第8章 从源文件到可执行文件
    一、代码1、源代码完成后,就可以编译生成可执行文件了。负责实现该功能的是编译器2、代码运行:计算机只能运行本地代码。3、源代码和源文件:用某种编程语言编写的程序就称为源代码,保存源代码的文件称为源文件。(这里的“源代码”用英文表示是“sourcecode”。source有“原始的”......
  • 对于可执行文件的产生和运行过程的认知(《程序时怎样跑起来的》第8章)
    在阅读《程序时怎样跑起来的》第八章后,我认识到了源文件变为可执行文件的过程,包括必备的因素和运行的条件。源文件指的是程序员利用高级语言写的代码文件,而在第七章中提到,CPU能识别的是本地代码也叫机器语言,而源文件到本地代码的过程就叫做“编译”,通常利用对应语言的编译器进行编......
  • 《程序是怎样跑起来的》第八章:从源文件到可执行文件
    在这一章中,作者详细地解释了如何将源代码转化为可执行文件,这个看似简单的讨程实际上包含了多个复杂的步骤。源代码,作为程序的起点,虽然已经包含了实现特定功能的代码,但它本身并不能直接运行。为了让它能在计算机上运行,需要经过一系列的编译和链接过程。这包括词法分析、语法分析、......
  • 源文件到可执行文件的过程
    从用户编写的源文件到生成可执行程序,需要经过以下四个中间过程:预处理:预处理过程主要处理源代码文件中的#include、#define、#if、#else、#ifdef、#endif等指令,以及处理注释、行号(用于调试)等工作。编译:编译是构建可执行程序过程中最重要的步骤,涉及词法分析、语法分析、语义分析......
  • 第八章——从源文件到可执行文件
    本章讲解的是源文件如何通过编译转换为可执行文件的。首先计算机只能运行本地代码。用某种编程语言编写的程序就称为源代码,保存源代码的文件被称为源文件。源代码是无法直接运行的,因为CPU能直接解析和运行的不是源代码而是本地代码。本地代码的内容就是各种数值的罗列。编译器负......
  • java的getResource方法 总结一下 在Java中获取资源的时候,经常用到getResource和getRes
    java的getResource方法总结一下在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异1.前言在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异。2.Class.get......
  • 第八章:从源文件到可执行文件
    在《程序是怎样跑起来》的第八章中,作者详细介绍了程序从源文件到可执行文件的整个过程。这一章节通常涉及到编译原理和链接技术,对于理解程序的生命周期和执行过程至关重要。以下是我对这一章节的读后感:首先,本章可能从源代码的编写开始,介绍了编程语言的基本概念。源代码是人类可读......