首页 > 其他分享 >第八章——从源文件到可执行文件

第八章——从源文件到可执行文件

时间:2024-02-20 12:22:26浏览次数:26  
标签:可执行文件 文件 第八章 源文件 编译器 本地 源代码

本章讲解的是源文件如何通过编译转换为可执行文件的。
首先计算机只能运行本地代码。用某种编程语言编写的程序就称为源代码,保存源代码的文件被称为源文件。源代码是无法直接运行的,因为CPU能直接解析和运行的不是源代码而是本地代码。本地代码的内容就是各种数值的罗列。编译器负责编译源代码,编译器首先读入代码的内容,然后再把源代码转换为本地代码。因为编译器也是程序的一种所以也需要运行环境。此外还有一种交叉编译器,它生成的是和运行环境中的CPU不同的CPU所使用的本地代码。但是仅靠编译器是无法得到可执行文件的,编译器转换源代码之后,会生成本地文件,但本地文件是无法直接运行的,还需要进行链接处理,因为编译后生成的不是EXE文件,而是扩展名为.obj的目标文件,把多个目标文件结合,生成一个EXE文件的处理就是链接,运行连接程序的就被称为链接器。接下来讲到了启动和库文件,库文件指的是把多个目标文件集合到一个文件的形式。链接时会出现无法解析的外部符号,这表示的是无法找到记述着目的函数和变量的目标文件。还讲到了标准函数。Windows中API的目标文件存储在DDL文件的特殊库文件中,并且提到了导入库和静态链接库两个相反的概念。EXE文件的内容分为再配置信息,变量组,函数组。当程序加载时还会生成两个组,就是栈和堆。

标签:可执行文件,文件,第八章,源文件,编译器,本地,源代码
From: https://www.cnblogs.com/c-yying/p/18020921

相关文章

  • 第八章读后感
    阅读了《程序是怎样跑起来的》第八章之后,我对从源文件到可执行文件的转换过程有了一定的理解,负责实现该功能的是编译器。这一章详细地解释了源代码如何被编译和链接。编译器是能够把C语言等高级编程语言编写的源代码转换成本地代码的程序,每个编写源代码的编程语言都需要其专用的......
  • 《程序是怎样跑起来的》第八章读后感
    第八章深入讲解了源代码和计算机程序的编译过程,让我们对编程有了更细致的理解。所谓源代码,其实就是我们用诸如C、Java等高级编程语言编写的原始程序代码。在实际操作中,当我们按照教材编写练习题时,那些敲击键盘完成的代码就是源代码。在这一章节里,提到了源代码与源文件(包含了源代......
  • java的getResource方法 总结一下 在Java中获取资源的时候,经常用到getResource和getRes
    java的getResource方法总结一下在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异1.前言在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异。2.Class.get......
  • 《程序是怎样跑起来的》第八章
    心得:了解了本地代码、源文件、导入库等,更细致的了解了栈,遇到了堆知识点:本地代码CPU可以解析和运行的程序形式称为本地代码。可以通过编译源代码得到本地代码。扩展名为.obj的目标文件的内容属于本地代码。Windoows中EXE文件的程序内容,使用的就是本地代码。本地代码的内容就是......
  • 第八章:从源文件到可执行文件
    在《程序是怎样跑起来》的第八章中,作者详细介绍了程序从源文件到可执行文件的整个过程。这一章节通常涉及到编译原理和链接技术,对于理解程序的生命周期和执行过程至关重要。以下是我对这一章节的读后感:首先,本章可能从源代码的编写开始,介绍了编程语言的基本概念。源代码是人类可读......
  • 在windows下打包linux可执行文件
    尝试set命令设置环境变量,然后执行打包,但是打包出来还是windows文件命令行直接设置:在运行 gobuild 命令之前,在同一命令行窗口中先设置环境变量,并确保在同一行内设置以确保它们在同一环境中生效CGO_ENABLED=0GOOS=linuxGOARCH=amd64gobuild-omyapp-linux-amd64main.go......
  • 程序是怎样跑起来的第八章读后感
    我认为第八章重点是源文件变成可执行文件的过程,在这个过程中会进行许多的步骤。对于计算机的运行来说,计算机只能运行本地代码,不是本地代码需要转变成本地代码。从第八章我们能更深层的来了解计算机语言,而C语言就是计算机的一种语言。C++是在C语言的基础上追加相应功能而开发出来的......
  • 读后感_第八章
    第八章主要讲了,从源文件到可执行文件,讲述了计算机只能运行本地代码,通过将不同的编程语言转化为同种编程语言,最后解析运行CPU。计算机将所有的信息作为数值的集合来处理,每个数值都代表某一个命令或数据。这就成为本地代码。与此同时,编译器的存在也很重要,不同的CPU,它的编译器也大不......
  • 程序是怎样跑起来的第七章第八章读后感
    第七章的标题是程序是在何种环境中运行的,看到这个标题,我也产生了这个疑问,并且应用的运行环境是什么呢?应用的运行环境通常是用类似于Windows(OS)和AT兼容机,同一个程序能被大量用户使用,所以说程序具有很大的价值。程序拿来出售的话,只要销量大,就能收到非常可观的利润。运行环境=操......
  • 程序是怎样跑起来的 第八章
    本地代码:本地代码的内容就是数值的罗列集合(二进制的数据展示)编译器:负责将源代码转换为本地代码,每种语言都有其专用的编译器由于cpu类型不同,本地代码的类型也不同,编译器可以将源代码编译成不同cpu类型的本地代码交叉编译:在当前平台编译另外平台的本地代码,例如在win上编译linu......