发新帖

SO文件格式及linker机制学习总结

  [复制链接]
69586 83
/*来自ThomasKing大神的两篇文章,原文地址:http://bbs.pediy.com/showthread.php?t=197512http://bbs.pediy.com/showthread.php?t=197559*/

学习SO文件格式和linker已有很长一段时间,现实现SO文件的抽取以及相应的加载器,目的在于学习总结,并对之前帖子未涉及到的知识进行补充。当然,为了让总结更有意思,先从文件格式的定义上入手,自定义一个简单的文件格式。为了保持平台上的兼容性和实现的简单性,在对SO抽取的过程中,保持与指令集相关的相对结构,不涉及与平台相关的指令集重定位等。后文在此格式基础上,实现一个类似linker的加载器,对抽取后的SO文件进行加载。限于水平,难免会有错误和疏漏之处,请各位大大斧正。http://bbs.pediy.com/images/smilies/smile.gif

另外,限于篇幅,后续文章将会介绍如何内存加载SO文件以及融合加载器的实现,目的在于将加载器与抽取后的文件相融合,实现无缝加载和替换......




static/image/hrline/1.gif



小弟接着上篇帖子,介绍SO的内存加载以及改进上文的加载器。由于删减了部分内容,本想附带在上篇帖子。考虑到内容不同,还是选择了另开一贴http://bbs.pediy.com/images/smilies/redface.gif。至此,对ELF和linker的学习告一段落。在各位坛友的支持下,小弟坚持把学习笔记写完,对各位坛友表示衷心感谢http://bbs.pediy.com/images/smilies/biggrin.gif。限于水平,难免会有错误和疏漏之处,请各位大大斧正,小弟感激不尽。
----------------------------------------------
将上文生成的SO抽取文件libfoo.mo放入merge中,在linux环境下直接make,将生成的libfoo.so文件放入测试工程libs/armabi目录下即可。




static/image/hrline/3.gif



附件下载地址:

游客,如果您要查看本帖隐藏内容请回复

举报 使用道具

回复

精彩评论83

默小坑    发表于 2015-2-26 13:21:13 | 显示全部楼层
回复可见。。。

举报 使用道具

回复
世事繁华皆成空    发表于 2015-2-26 16:30:31 | 显示全部楼层
支持教学贴

举报 使用道具

回复 支持 反对
lu543800    发表于 2015-2-26 16:36:04 | 显示全部楼层
来学习 学习大神的

举报 使用道具

回复 支持 反对
wlhlw    发表于 2015-2-26 18:22:38 | 显示全部楼层
好帖马萨瑟

举报 使用道具

回复 支持 反对
xxoo    发表于 2015-2-28 10:45:38 | 显示全部楼层
支持下下

举报 使用道具

回复
单翅的天使ylj    发表于 2015-2-28 17:02:23 | 显示全部楼层
前来支持

举报 使用道具

回复
zshzm    发表于 2015-2-28 18:48:43 | 显示全部楼层
看看是什么

举报 使用道具

回复 支持 反对
sndncel    发表于 2015-3-2 08:28:12 | 显示全部楼层
进来学习一下呀。。。。。哈哈。

举报 使用道具

回复 支持 反对
p42833693    发表于 2015-3-2 13:33:21 | 显示全部楼层
学习学习

举报 使用道具

回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表