脚本文档中的脚本链接点不进去怎么办

发布网友 发布时间:2022-03-28 17:52

我来回答

1个回答

热心网友 时间:2022-03-28 19:22

这种情况就是脚本错误或者脚本失效,需要根据情况重新编写

链接器将输入文件组合成一个输出文件。输出文件和每个输入文件都采用一种特殊的数据格式,称为目标文件格式。每个文件称为一个目标文件。输出文件通常称为可执行文件,但出于我们的目的,我们也将其称为目标文件。每个对象文件都有一个节列表。我们有时将输入文件中的一个节称为输入节;类似地,输出文件中的一个节就是一个输出节。

目标文件中的每个节都有一个名称和大小。大多数节也有一个关联的数据块,称为节内容。一个节可以被标记为可加载的,这意味着当输出文件运行时,内容应该被加载到内存中。没有内容的节可能是可分配的(比如.bss节),这意味着内存中应该留出一个区域,但不应该加载任何特别的内容(在某些情况下,该内存必须被置零)。一个既不能加载也不能分配的部分,通常包含某种调试信息。

每个可加载或可分配的输出节都有两个地址。第一个是VMA,即虚拟内存地址。这是输出文件运行时该节将拥有的地址。第二个是LMA,即加载内存地址。这是加载节的地址。在大多数情况下,这两个地址是相同的。它们可能不同的一个例子是,一个数据段被加载到ROM中,然后在程序启动时被复制到RAM中(这种技术经常用于在基于ROM的系统中初始化全局变量)。在这种情况下,ROM地址将是LMA, RAM地址将是VMA。

(译注:比如在一个嵌入式系统中,一般有一个支持XIP (eXecute In Place)的flash作为启动代码的存放位置,对于指令来说它是只读的,所以CPU可以直接读取flash中的指令并执行。但对于非只读的数据来说,程序运行过程中会发生频繁的读写,而flash写入速度很慢,且有写入寿命的问题,所以需要在运行功能代码前需要将非只读数据拷贝到RAM中。)

你可以通过使用带有' -h '选项的' objmp '程序来查看object文件中的节。

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com