链接

作者: bigCatloveFish | 来源:发表于2019-07-21 00:19 被阅读0次

链接

静态链接

符号解析

将每个符号引用刚好和一个符号定义联系在一起。

重定位

编译器和汇编器生成从地址0开始的代码和数据节。链接器把符号定义与存储器的位置联系起来。然后修改所有对这些符号的引用,是的他们指向这些存储器的位置,从而重定义这些节。

基础知识

目标文件纯粹为字节块的集合。有的包含程序代码。有的包含程序数据。包含指导链接器和加载器的数据结构。链接器将块链接起来。确定被链接块运行时的位置。

目标文件

1.可重定位目标文件。
2.可执行目标文件。
3.共享目标文件。

可重定位目标文件

ELF头
.text
.rodata
.data
.bss
.symtab
.rel.text
.rel.data
.debug
.line
.strtab
节头部表

符号和符号表

可重定位目标模块m都有一个符号表。包含m所定义和引用的符号信息。总共有三种不同的符号。
1.m定义并且被其他模块引用的全局符号。
2.其他模块定义并且被模块m引用的全局符号。
3.只被m定义和引用的本地符号。

typdef struct {
int name;
int value;
int size;
char type:4
     binding:4
char reserved;
char section;
}Elf_Symbol

static的属性隐藏变量和函数名字。

链接

静态链接

符号解析

将每个符号引用刚好和一个符号定义联系在一起。

重定位

编译器和汇编器生成从地址0开始的代码和数据节。链接器把符号定义与存储器的位置联系起来。然后修改所有对这些符号的引用,是的他们指向这些存储器的位置,从而重定义这些节。

基础知识

目标文件纯粹为字节块的集合。有的包含程序代码。有的包含程序数据。包含指导链接器和加载器的数据结构。链接器将块链接起来。确定被链接块运行时的位置。

目标文件

1.可重定位目标文件。
2.可执行目标文件。
3.共享目标文件。

可重定位目标文件

ELF头
.text
.rodata
.data
.bss
.symtab
.rel.text
.rel.data
.debug
.line
.strtab
节头部表

符号和符号表

可重定位目标模块m都有一个符号表。包含m所定义和引用的符号信息。总共有三种不同的符号。
1.m定义并且被其他模块引用的全局符号。
2.其他模块定义并且被模块m引用的全局符号。
3.只被m定义和引用的本地符号。

typdef struct {
int name;
int value;
int size;
char type:4
     binding:4
char reserved;
char section;
}Elf_Symbol

static的属性隐藏变量和函数名字。

相关文章

  • 链接自己,链接心,链接世界

    PART-1 角色:客户 主题:自己觉知到了自己的状态,但还是在那个低落的情绪状态里无法反弹 我的制約:不自觉的切...

  • 链接未来,链接世界

    这几年,对新工具的探索一直没有停下过思考。消费者对新工具的接受程度越来越高,当行业门槛进一步提高,准入标准一步步提...

  • 硬链接、软链接

    硬链接:为磁盘上的一个文件创建了一条新路径,此时就有两条路径指向该文件。当所有指向该文件的的路径被删除掉之后,该文...

  • 长链接学习链接

    php之websocket服务使用(弹幕实现) https://blog.csdn.net/miao091...

  • 弱链接,强链接

    最近在联系儿子上学的事情,动用了强链接和弱链接两种关系。 每个人,只要参与社会生活,就会拥有强连接和弱连接。 强链...

  • 链接世界 链接价值

    近日,一场主题与产业链供应链有关的国际论坛在浙江杭州市举行,来自全球29个国家以及多个国际组织的代表以线上线下相结...

  • 链接

    享受此刻的宁静 凝望窗外 竟然链接到了你的能量 欣喜 幸福 渴望 我知道 你在默默的守护 就如同看到当下的我 您的...

  • 链接

    越简单直接的人,越容易和别人连接。

  • 链接

    我的父母以前是地地道道的农民,我跟他们都链接很少,我以前是一个特别内向的人,他们给我的压力很大,经常被他们打骂,从...

  • 链接

    《链接》作者艾伯特-拉斯洛·巴拉巴西是科学界的一位巨星,全球复杂网络研究第一人,无尺度网络模型的创立者。他的论文被...

网友评论

      本文标题:链接

      本文链接:https://www.haomeiwen.com/subject/hbiplctx.html