首页 > 编程语言 >《程序是怎样跑起来的》——第八章读后感

《程序是怎样跑起来的》——第八章读后感

时间:2024-02-21 17:46:39浏览次数:27  
标签:读后感 EXE 文件 程序 第八章 编译 地址 源代码 链接

一:1.利源代码进行编译后可得到本机代码。
2. 通过编译和链接可得到EXE文件。
3. 对源文件进行编译可得到日标文件。例如,补源文件 wempikes进行编译可得到目标文件 sample.obj。日标文件的内容较是在机代码。
4.链接器会从库文件中提取必要的目标文件并将它们拼接成。EXE文件。在程序运行时进行动态链接的DLL文件也属于靠文件。
5. 将导人库中的信息链接到EXE文件,由此程序就可以在运行时调用 DLL中的函数了。
6.堆是一种可以根据程序自身的请求来分配和释放的内存空间。
二:编写好源文件之后,对源文件进行编译和链接就可以生成可执行文件了。编译和链接的操作需要使用編译器和链接器来完成。
负责将用C语言等高级语言编写的源代码翻译成本机代码的为编译器。用不同的编程语言编写的源代码需要使用该语言专译器来进行编译。用于将C语言源代码翻译成本机代码的编译成本机代码的编译器称为C编译器。
编泽器会读取源代码的内容并将其翻译成本机代码。
三:在 EXE 文件中,变量和函数被分配的內存出都是虚拟的,在程序运行时,这些虚拟的内存地址会转换成实际自存地址。链接器会在 EXE文件的开头记录需要进行内存地址转换自个位置,这些信息被称为重定位信息。
在EXE 文件中,重定位信息中记录的是变量和函数的相对地址。
所谓相对地址,就是某个地址与基地址之间的相对距离,也就是偏孩量。要想使用相对地址,就需要进行一些额外的处理。在源代码中,变量和函数都是分散在各个位置的,但在链接后的EXE 文件中,交園利函数会被集中起来分成两组连续排列。于是,每个变量的内存地过就可以表示为该变量相对于变量区起始位置的偏移量,每个函数的存地址也可以表示为该函数相对于函数区起始位置的偏移量。每个区的基地址是在程序运行时确定的。

标签:读后感,EXE,文件,程序,第八章,编译,地址,源代码,链接
From: https://www.cnblogs.com/SF90/p/18025836

相关文章

  • 《程序是怎么跑起来的》第八章
    今天沃阅读了程序是怎么跑起来的第八章,从源文件到可执行文件。本章分为九个课时,分别介绍了关于编码器,原代码和代码的执行方面的问题,且计算机只能运行本地的代码,虽然计算机通常只能直接运行本地代码,但通过虚拟机和解释器等技术,可以实现在计算机上运行非本地代码的需求。本地代码是......
  • 《程序是怎样跑起来的》第10章
    本章主要讲通过汇编语言认识程序的真面目。本章讲汇编语言到程序,那么,我们总得要知道什么是汇编语言吧?其实呢汇编语言就是(assemblylanguage)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的......
  • Python启动其他程序
    通过python脚本来启动其他的程序,一般使用subprocessimportsubprocess#启动Windows上的计算机程序subprocess.Popen('C:\\Windows\\System32\\calc.exe')#启动记事本,并打开text.txt文件,在该列表中第一个元素表示程序名称,后面的都是参数subprocess.Popen(['C:\\Windows......
  • 《程序是怎么跑起来的》第七章
    今天沃阅读了程序是怎么跑起来的,中的第七章,其中第七章分为6节,主要讲述了‘程序是在任何环境中运行的’对于这一章讲述了对于不同环境下无法实现运行问题的解决。运行环境是指应用程序所依赖的操作系统和硬件设备的组合。操作系统提供了应用程序运行所需的基本功能,例如内存管理、......
  • 《程序是怎样跑起来的》第一章第一节读后感
    在阅读了《程序是怎样跑起来的》第一章第一节之后,我有以下几点感悟:编程语言的重要性:在这一节中,作者强调了编程语言在程序运行过程中的关键作用。编程语言是程序员与计算机进行沟通的桥梁,通过编程语言,我们可以将复杂的逻辑和算法转化为计算机能理解的指令。因此,选择......
  • 《Effective Java》阅读笔记-第八章
    EffectiveJava阅读笔记第八章方法第49条检查参数的有效性基于“发生错误后应尽快检测出错误”这一通用原则,应对方法的参数进行检查。Java7中增加了Objects.requireNonNull方法,可以很方便的对参数进行null检查并抛出异常:publicvoidsomeMethod(Stringargs){ar......
  • 《程序是怎样跑起来的》第二章第一节读后感
    在《程序是怎样跑起来的》的第二章第一节中,作者详细介绍了计算机硬件的基本组成和功能。通过阅读这一部分,我对计算机的底层原理有了更深入的理解,并对计算机硬件有了更全面的认识。首先,作者介绍了计算机的基本组成,包括运算器、控制器、存储器和输入输出设备。这些部件......
  • 《程序是怎样跑起来的》第9章
    本章主要讲操作系统与应用程序的关系。我也知道了在操作系统上运行的程序叫应用程序,调用操作系统提供的功能叫做系统调用,Wimdows10是32位或者64位的操作系统,GPU的全称是图形用户界面。通常,程序员的工作就是编写各种提高工作效率的应用程序,而对于作为应用程序运行环境的操作系......
  • 《程序是怎么跑起来的》第三章读后感
    在阅读了《程序是怎么跑起来的》的第三章后,我对计算机的内部结构和程序的运行原理有了更深入的了解。这一章主要介绍了CPU的内部结构、数据的表示方式以及汇编语言和硬件控制方法等内容,让我对计算机的工作原理有了更清晰的认识。首先,作者详细讲解了CPU的内部结构,包括寄存器、程序......
  • Qt程序执行报错:"This application failed to start because not Qt platform plugin c
    Qt编译的exe程序执行时报错:出现以上错误的原因是由于的系统环境路径缺失或者exe程序目录下缺少对应的dll导致。以上为缺少对应的Qtplatformplugin。在Qt的安装目录下将platforms整个目录拷贝到exe所在目录下,即可执行。如果提示缺少对于的xxx.dll直接将对应缺失......