首页 > 其他分享 >8.7 可执行文件运行时的必要条件

8.7 可执行文件运行时的必要条件

时间:2023-02-13 21:35:33浏览次数:37  
标签:可执行文件 EXE 变量 8.7 偏移量 必要条件 基点 内存地址 函数

在程序运行时,虚拟的内存地址会转换成实际的内存地址。链接器会在EXE文件的开头,追加转换内存地址所需的必要信息。这个信息称为再配置信息。
EXE文件的再配置信息,就成为了变量和函数的相对地址。相对地址表示的是相对于基点地址的偏移量,也就是相对距离。在源代码中,虽然变量及函数是在不同位置分散记述的,但在链接后的EXE文件中,变量及函数就会变成一个连续排列的组。这样一来,各变量的内存地址就可以用相对于变量组起始位置这一基点的偏移量来表示,同样,各函数的内存地址也可以用相对于函数组起始位置这一基点的偏移量来表示。而各组基点的内存地址则是在程序运行时被分配的(图8-9)。

标签:可执行文件,EXE,变量,8.7,偏移量,必要条件,基点,内存地址,函数
From: https://www.cnblogs.com/ttmeng/p/17117852.html

相关文章

  • 8.4 仅靠编译是无法得到可执行文件的
    编译器转换源代码后,就会生成本地文件。不过,本地文件是无法直接运行的。为了得到可以运行的EXE文件,编译之后还需要进行“链接”处理。下面,就让我们使用BorlandC++Compile......
  • 8.7可执行文件运行时的必要条件
        在程序运行时,虚拟的内存地址会转换成实际的内存地址。链接器会在EXE文件的开头,追加转换内存地址所需的必要信息。这个信息称为再配置信息。    EXE文......
  • Ubuntu14.04 apache2 配置 CGI(并测试:shell,可执行文件,python)
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。前置说明  本文作为本人csdnblog的主站的备份。(BlogID......
  • 8.4仅靠编译是无法得到可执行文件的
    编译器转换源代码后,就会生成本地文件。不过,本地文件是无法直接运行的。编译器转换源代码后,就会生成本地文件。不过,本地文件是无法直接运行的。为了得到可以运行的EXE文件,......
  • 8.7可执行文件运行时的必要条件
    在程序运行时,虚拟的内存地址会转换成实际的内存地址。链接器会在EXE文件的开头,追加转换内存地址所需的必要信息。这个信息称为再配置信息。EXE文件的再配置信息,就成为了变......
  • 从源文件到可执行文件——8.1计算机只能运行本地代码
    1.CPU可以解析和运行的程序形式称为什么代码?  本地代码(机器语言代码)2.将多个目标文件结合生成EXE文件的工具称为什么?  链接器3,扩展名为.obi的目标文件的内......
  • 8.4仅靠编译是无法得到可执行文件的
    编译器转换源代码后,就会生成本地文件。不过,本地文件是无法直接运行的。为了得到可以运行的EXE文件,编译之后还需要进行“链接”处理。下面,就让我们使用BorlandC++Compiler......
  • python打包为exe可执行文件
    如果要给别人使用,那么打包成exe就是个完美的解决方案了。打包用到了pyinstaller第三方库,执行​​pipinstallpyinstaller​​进行安装。此处打包用到了pyinstaller的两个参......
  • Linux环境下:程序的链接, 装载和库[可执行文件的装载]
    现代操作系统如何装载可执行文件?给进程分配独立的虚拟地址空间建立虚拟地址空间和可执行文件的映射关系把CPU指令寄存器设置成可执行文件的入口地址,启动执行可执行......
  • python打包实战:用pyinstaller打包scrapy成单个可执行文件
    前言写好的python程序要打包成windows的可执行文件,一般都是用pyinstaller。比如你要对test.py这个文件打包,一般的pyinstaller-Ftest.py就可以了。还有另一种用法,就是用s......