【问题标题】:Levine, Linkers and LoadersLevine、链接器和加载器
【发布时间】:2012-07-13 15:50:14
【问题描述】:

我正在阅读:Levine、Linkers 和 Loaders。在第 95 页,他说:

Module-A 0->600H
Module-B 0->400H
Module-C 0->500H

在单段存储分配中,这应该是:

0-600 601-A01 A02-F03

?他说是从0-F00???基本上他只是 连接所有模块,所以..

我想知道是否有人可以推荐一本合适的书。我正在努力 了解链接器符号表、加载器、链接编辑器、GOT/PLT 和 语言如何适应这一切..准确地说..如果我有一个 一堆函数和变量/c文件,它们是如何存储在.obj中的, .obj 文件包含什么(部分、段)以及它是如何实现的 适合 ELF 以及 ELF 如何适合分页内存.. 我发现莱文很难理解而且非常冗长..他有 Pentium/SPARC/IBM/Motorola 处理器上的东西,看起来有点 过时,古老,令人难以置信的令人沮丧..我试过看 各种维基百科条目和谷歌搜索,但更糟糕的是!至今, 我发现的唯一一本像样的“书”是英特尔软件开发人员 手册第 3 卷,但这不包括搬迁,而且太多了 高级和详细的新手 - 它有关于 SSE 等的东西。

我使用 Linux、gcc、g++ 所以.. 我只是想清楚地了解什么 所有那些神秘的东西意味着当你做一个 objdump/nm 一个现代的 莱文天,没有错误会很好……而且会很棒 如果它也涵盖了 Microsoft PE 格式..

我已经尝试过非常出色的 Intel SysV ABI,但它不是 适合新手。

【问题讨论】:

    标签: linker loader


    【解决方案1】:

    现代的莱文,没有错误会很好

    Ian Lance Taylor 最近实现了一个仅限 ELF 的链接器,并在 series of blog posts 中对其进行了描述。他们肯定比 Levine 更专注、更简洁。

    【讨论】:

    • 太棒了!我想这正是我想要的!非常感谢!让我读一下,我会回来的:p
    猜你喜欢
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 2011-11-26
    • 1970-01-01
    相关资源
    最近更新 更多