RealView - ARM Information Center
RealView - ARM Information Center
RealView - ARM Information Center
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
使 用 基 本 链 接 器 功 能3.3.3 未 使 用 节 删 除未 使 用 节 删 除 是 指 从 最 终 的 映 像 中 删 除 从 未 执 行 的 代 码 或 与 代 码 无 关 的 数 据 。可 以 通 过 --remove、--no_remove、--first、--last 和 --keep 链 接 器 选 项 控 制 此 优化 。 使 用 --info unused 链 接 器 选 项 可 以 指 示 链 接 器 生 成 已 删 除 的 未 使 用 节 的 列表 。在 可 能 导 致 删 除 所 有 节 的 情 况 下 , 禁 止 删 除 未 使 用 节 。在 以 下 条 件 下 , 将 在 最 终 映 像 中 保 留 输 入 节 :• 输 入 节 包 含 入 口 点• 通 过 非 弱 引 用 从 包 含 入 口 点 的 输 入 节 直 接 或 间 接 引 用 输 入 节• 输 入 节 由 --first 或 --last 选 项 ( 或 等 效 的 分 散 加 载 ) 指 定 为 第 一 个 或 最 后一 个 输 入 节• 输 入 节 由 --keep 选 项 标 记 为 不 可 删 除 。注 意未 使 用 节 删 除 是 所 有 组 的 属 性 , 不 仅 仅 是 公 共 组 的 属 性 。3.3.4 未 使 用 函 数 删 除虚 函 数 删 除 (VFE) 是 对 未 使 用 节 删 除 的 细 化 , 旨 在 减 少 由 C++ 代 码 生 成 的 映 像中 的 ROM 大 小 。 此 优 化 可 用 于 从 代 码 中 删 除 未 使 用 的 虚 函 数 和 RTTI 对 象 。如 果 函 数 在 各 自 的 节 中 编 译 , 则 VFE 与 未 使 用 节 删 除 同 义 ( 请 参 阅 未 使 用 节 删除 )。 不 过 , 在 输 入 节 包 含 多 个 函 数 的 情 况 下 , 只 有 当 所 有 函 数 都 未 使 用 时 , 才可 以 删 除 输 入 节 。 链 接 器 无 法 从 节 中 删 除 未 使 用 的 函 数 。在 本 节 的 以 下 部 分 中 , 假 设 函 数 在 各 自 的 节 中 编 译 。未 使 用 节 删 除 可 有 效 删 除 C 代 码 中 的 未 使 用 函 数 。 不 过 , 在 C++ 应 用 程 序 中 ,未 使 用 节 和 RTTI 对 象 由 指 针 表 引 用 。 这 意 味 着 链 接 器 使 用 的 删 除 算 法 无 法 保 证可 靠 地 删 除 节 和 RTTI 对 象 。<strong>ARM</strong> 编 译 器 和 链 接 器 利 用 VFE 相 互 协 作 , 编 译 器 提 供 有 关 未 使 用 虚 函 数 的 附 加信 息 , 而 链 接 器 将 使 用 这 些 信 息 。 依 此 分 析 , 链 接 器 能 够 可 靠 地 删 除 未 使 用 的节 。 链 接 器 还 可 通 过 此 协 作 来 删 除 RTTI 对 象 。<strong>ARM</strong> DUI 0349AC 版 权 所 有 © 2007 <strong>ARM</strong> 公 司 。 保 留 所 有 权 利 。 3-11