首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

符号解析重定位

1.重定位 在完成空间地址的分配步骤之后,链接器就进入了符号解析重定位的步骤,这也就是静态链接的核心作用; 在分析符号解析和重定位之前,首先让我们来看看“a.o”里面是怎么使用这两个外部符号,也就是说我们在...重定位表 那么链接器是怎么知道哪些指令是要被调整的呢?这些指令的哪些部分要被调整?怎么调整?比如上面例子中“mov”指令和“ca”指令的调整方式就有所不同。...事实上在ELF文件中,有一个叫重定位表( Relocation Table)的结构专门用来保存这些重定位相关的信息,我们在前面介绍ELF文件结构时已经提到过了重定位表,它在ELF文件中往往是个或多个段...导致这个问题的原因很多,最常见的一般都是链接时缺少了某个库,或者输入目标文件路径不正确或符号的声明定义不一样。所以从普通程序员的角度看,符号的解析占据了链接过程的主要内容.。...这时候链接器就会去查找由所有输入目标文件的符号表组成的全局符号表,找到相应的符号后进行重定位。

1.1K10

硬链接符号链接

我们挂载到/mnt目录下 使用df -TH 查看 信息都是正确的 但是,一旦重启机器, 挂载信息就不存在了, 因此还需要修改一下/etc/fstab文件, 新增一条关系记录 环境搭建完成 【创建硬链接和符号链接...】 给read_disk.py文件创建硬链接和符号链接. ln read_disk.py sl_read_disk.py 硬链接 ln -s read_disk.py sl_read_disk.py...软链接 同时查看下这3个文件的inode值 最左侧表示每个文件的inode值, 可以看出来, 硬链接文件原文件的inode值相同, 软链接文件生成了新的inode值....而且我们还发现一个问题 软链接占用的磁盘空间居然是0, 明明实际大小是12, 怎么会不占用磁盘块呢? 不敢相信....之前还在网上看过一篇文章说, 一个数据库文件几百G, 怎么可以很快把它删除掉. 也是运用了硬链接的原理,给文件创建一个硬链接, 然后就可以把原文件删除了.

2.2K20
领券