链接器文件中输入和输出部分之间的区别?

2023-12-19

虽然在生成的二进制或 ELF 文件的上下文中可以清楚什么是节,但文档中的许多地方(与所使用的编译器无关)将它们称为输入或输出节。

它们之间有什么区别?


链接器使用目标文件(以及可能的共享库)并输出 可执行文件或共享库。输入目标文件由命名的 部分 -.text, .data, .rodata, .bss等等。输出文件也是如此。

它 是链接器工作的主要部分,用于组合所有input的部分 将所有输入目标文件中的相同名称合并为一个output部分 输出文件中的该名称。例如。全部.text输入部分 目标文件有助于.text输出文件的部分。

如果链接器确定某些输入节是冗余的,则可能会从输出文件中丢弃它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链接器文件中输入和输出部分之间的区别? 的相关文章

  • 为什么 LD_PRELOAD 似乎不适用于 wc 写入

    我正在使用 LD PRELOAD 来拦截 libc 调用 看起来 write 调用不会被 wc 拦截 尽管它似乎确实可以与 cat 一起使用 下面显示了该问题的精简版本 红帽 Linux 2 6 9 42 ELsmp Makefile wr
  • 读取 ELF 部分的内容(以编程方式)

    我正在尝试检索 ELF 二进制文件中附加部分的内容 此时 我使用以下代码来检索每个部分的名称 include
  • 在运行时访问 build-id

    我试图弄清楚如何访问链接器在运行时生成的构建 ID 从这个页面开始 https linux die net man 1 ld https linux die net man 1 ld 当我构建一个测试程序时 例如 gcc test c o
  • 为什么 Linux/gnu 链接器选择地址 0x400000?

    我正在 Linux x86 64 上试验 ELF 可执行文件和 gnu 工具链 我已经链接并剥离 手动 Hello World 测试 global start text start mov 1 rax 转换为 267 字节 ELF64 可执
  • “错误LNK2001:无法解析的外部符号”[重复]

    这个问题在这里已经有答案了 我的 VC 2008 程序有问题 当我编译它时 会列出以下错误 我花了很多钱 去groups google com找了一下原因 但是没有评论 帮助过我 有人知道问题是什么吗 谢谢 error LNK2001 un
  • 链接描述文件未按预期跳过字节

    因此 我有这个汇编文件 我使用 GNU as 进行汇编 并使用链接器脚本与 GNU ld 进行链接 链接描述文件 boot ld INPUT boot o OUTPUT boot out ENTRY boot start SECTIONS
  • 将rodata 与创建它的函数一起保存

    我试图使 rodata 部分位置与其关联的函数内存位置保持一致 我正在使用 GNU 编译器 链接器 裸机 plain jane c 和 STM32L4A6 微控制器 我有一个使用 STM32L4A6 控制器的定制板 其中 1Meg 闪存分为
  • 对“__divdi3”的未定义引用

    在链接一些对整数类型执行除法和模运算的代码时long long我收到以下两个错误 util c text 0x1af undefined reference to divdi3 util c text 0x1ef undefined ref
  • 如何解决链接时 __gcov_init 未定义的引用问题

    我现在从事C代码覆盖率研究 遇到以下问题 GCC版本4 4 6 添加了编译器标志CFLAGS coverage和链接器选项LDFLAGS coverage or LOCAL LDLIBS coverage并得到错误 undefined re
  • 在编译时将多个文件中的变量收集到单个连续的内存块中

    我想在多个 c 文件中定义 并初始化 结构体的多个实例 但我希望它们在编译时收集到一个连续的数组中 我一直在研究使用自定义部分并使用该部分的开始和结束地址作为结构数组的开始和结束 但我还没有完全弄清楚细节 而且我不想编写自定义部分链接器脚本
  • 访问附加到 ELF 二进制文件的数据

    我有一个静态 ELF 二进制文件 它从 zip 文件中读取数据 为了简化分发 我想将 zip 文件附加到二进制文件中 如下所示 cat mydata zip gt gt mybinary 我知道这样做不会损坏 mybinary 但我不知道如
  • 重复符号_OBJC_CLASS_$_LoginController

    我知道这个问题以前已经被问过很多次了 但到目前为止还没有解决我的问题 我知道当您在项目中获得文件的多个副本时 会发生此错误 我尝试清理构建 删除任何登录控制器 m文件输入编译源然后构建 很好 没有错误 当我在编译源中添加 LoginCont
  • Xcode -- 让force_load 使用相对路径

    某些库在链接到 Xcode 项目时需要 all load 链接器标志 但是 如果库之间存在符号冲突 这会导致链接器错误 解决方案是使用 force load 它可以有效地让您在某些库上使用 all load 但不能在其他库上使用 然而 这反
  • 如何手动加载并执行 ELF 二进制可执行文件?

    假设二进制文件是PIC 如何将其加载到内存并执行入口点 我这样做是为了熟悉 ELF 所以execve不允许 这些是基本步骤 阅读程序头以查找 LOAD 指令并确定您需要的映射的总长度 以页为单位 将最低地址的 LOAD 指令映射到总长度 可
  • Linux 的 gcc __attribute__((selectany)) 替代方案?

    我想知道是否有替代方案 attribute selectany 在Linux中 我想定义这样的东西 char a qwe zxc 并将其包含在许多链接在一起的 c 文件中 因此链接器将看到 a 的多个定义 因此不会链接 我读过这个属性 se
  • 当我打开在 Xcode 4 中创建的 Google 地图项目时,Xcode 5 会警告我的架构设置

    我刚刚更新到新发布的 Xcode 5 我正在开发一个使用 Google 地图 iOS SDK 的 iOS 应用程序 当我在 Xcode 4 中开发时 我改变了我的Architectures在我的项目设置中进行设置 按照 Google 的步骤
  • 加载器如何引用共享库中的变量?

    我现在了解如何通过过程链接表引用动态函数 如下所示 Dump of assembler code for function foo plt 0x0000000000400528
  • Ubuntu 11.10 上的 c 数学链接器问题 [重复]

    这个问题在这里已经有答案了 我从 Ubuntu 升级后出现了一些奇怪的错误 10 11 11 04 i dont know 到 11 10 我正在得到一个undefined reference to sqrt 使用 math h 时并与 l
  • 使用 Turbo C 编译并链接到 .com 文件

    我正在尝试使用 Turbo C 编译器和链接器编译一个简单的程序并将其链接到 DOS com 文件 我尝试了我能想到的最简单的 C 程序 void main Turbo C 链接器中是否有链接到 com 文件的命令行参数 我从链接器收到的错
  • 找不到 assimp-vc140-mt.dll ASSIMP

    我已经从以下位置下载了 Assimp 项目http assimp sourceforge net main downloads html http assimp sourceforge net main downloads html Ass

随机推荐

  • 如何在 MYSQL 中获取第二个最大日期

    我想从 mysql 数据库获取我的记录 我想从记录中获取第二个最大日期 但我失败了 这是我的代码
  • Windows 上的 Dockererized Kong 给出“从上游服务器收到无效响应”

    请帮助我 因为我在使用 Dockerized Kong 从 REST 端点获取数据时收到 从上游服务器收到无效响应 错误 我尝试使用 Kong 访问的 REST 服务正在我的本地主机上运行 Kong请求添加API curl i X POST
  • 将实体绑定到 Windows DataGridView

    我有一个绑定到 DataGridView 的 EF 源 绑定是以编程方式发生的 但是 排序不起作用 所以我决定搞乱一些代码并创建一个扩展方法 但它似乎仍然不起作用 public static class BindingListEntityE
  • 数组的反序列化不支持类型

    我正在尝试对数组进行反序列化 但我不断遇到错误 JavaScriptSerializer jsonSerializer new JavaScriptSerializer Profiles thingy jsonSerializer Dese
  • 如何使用nodejs禁用tls 1.0并仅使用tls 1.1

    我想禁用 TLS v1 0 并仅使用 TLS 1 1 及更高版本 通过nodejs 我使用https模块 如何设置https选项 我已阅读 api 文档节点 API TLS https nodejs org api tls html 但我还
  • 片段 setuserVisibleHint true 但 getActivity 返回 null

    我一直在片段内部做一些逻辑setUserVisibleHint 方法 我一直在检查是否isVisibleToUser为 true 然后使用getActivity返回活动 在我将支持库更新到最新版本之前 这一切都运行良好 100 的时间 su
  • 当鼠标停止移动时执行Jquery

    我有一个快速脚本 其轨迹跟随光标 jQuery document ready function document mousemove function e fall each function if this css opacity 0 t
  • SQL:使 COUNT(*) > 1 高效

    如果你想知道是否COUNT gt 0 那么你可以使用EXISTS使查询更加高效 当我想知道是否可以时 有没有一种方法可以使查询更有效COUNT gt 1 需要与 SQL Server 和 Oracle 兼容 谢谢 杰米 Edit 我正在尝试
  • Dapper 支持 like 运算符吗?

    使用 Dapper dot net 以下在数据对象中不会产生任何结果 var data conn Query select top 25 Term as Label Type ID from SearchTerms WHERE Term l
  • 线程安全和非线程安全 PHP Windows 安装包之间有哪些技术差异?

    我目前正准备为基于 Apache Windows 的开发环境安装 PHP 但似乎我即将遇到第一个障碍 选择要安装的正确包 PHP 的可用版本不少于four口味 http windows php net download VC9 x86 非线
  • R:简单乘法导致整数溢出

    在较长的脚本中 我必须将向量 A 的长度 2614 乘以数据帧 B 的行数 1456000 如果我直接这样做length A nrow B 我收到消息NAs produced by integer overflow尽管当我乘以相同的数字时没
  • 如何在spark中读取orc事务hive表?

    如何在spark中读取orc事务hive表 我在通过 Spark 读取 ORC 事务表时遇到问题 我获得了配置单元表的架构 但无法读取实际数据 查看完整场景 hive gt create table default Hello id int
  • Selenium 验证 div 有滚动条

    我正在尝试验证特定的 div 有滚动条 如何使用 Selenium 来做到这一点 元素 div class checkout mini cart Code JavascriptExecutor jsExecutor JavascriptEx
  • 当自动递增列用完时会发生什么?

    考虑一个带有自动增量列的简单表 如下所示 CREATE TABLE foo fooid bigint unsigned NOT NULL auto increment snipped other columns PRIMARY KEY fo
  • 除了静态库本身之外,停止 cmake target_link_libraries 链接静态库的两个目标文件

    我尝试使用 cmake ninja msvc 在 Windows 上构建一个相当大的共享库 它由子文件夹中的多个静态库组成 那么一个根CMakeLists txt好像 project sharedlib CXX include CMAKE
  • 如何检查计费协议是否有效或取消?

    我在 PayPal 中使用参考交易 API 不确定计费时计费协议是否有效 我想提前了解计费协议是否被取消 我想知道计费协议取消电话的回拨电话 要检查计费协议的状态 您可以使用 BAUpdate API NVP METHOD BillAgre
  • R 中 N 个元素与 q 个元素的组合

    I have N 6元素和q 3元素符号为0 1 2 我想创建的所有向量N 6元素与2元素等于0 2元素等于1 and 2元素等于2在所有可能的位置 这些向量的数量等于combn 6 2 combn 4 2 combn 2 2 90 这是构
  • qt中的“morph into”有什么用?

    在qt gui编辑器中 任何gui组件都可以变形为某种类型的其他gui组件 但实际上 这个选项的实际用途是什么 可以动态完成吗 如果是的话那么这样做的好处是什么 实际用途是快速将小部件转换为其他类似的小部件 假设您有一个包含一些小部件的组框
  • Azure 无效 AccessToken

    我正在尝试使用 Microsoft Azure Management Resources 库来管理一些 Azure 资源 我已在 Azure AD 中注册了应用程序 并授予了它所有权限 我获取了它的 ApplicationId 和 Secr
  • 链接器文件中输入和输出部分之间的区别?

    虽然在生成的二进制或 ELF 文件的上下文中可以清楚什么是节 但文档中的许多地方 与所使用的编译器无关 将它们称为输入或输出节 它们之间有什么区别 链接器使用目标文件 以及可能的共享库 并输出 可执行文件或共享库 输入目标文件由命名的 部分