Linux 操作系统动态库剖析
序扩充新的功能.
清单 3. 使用简单的程序来调用库函数
从这个列表中,您可以看到各种各样的需要再定位(到 libc.so)的 C 库调用,包括对 DL API(libdl.so)的调用.函数 __libc_start_main 是一个 C 库函数,它优先于程序的 main 函数(一个提供必要初始化的 shell)而被调用. 其他操作对象文件的实用程序包括:objdump,它展示了关于对象文件的信息;nm,它列出来自对象文件(包括调试信息)的符号.还可以将 EFL 程序作为参数,直接调用 Linux 动态链接器,从而手动启动映像:
另外,可以使用 ld-linux.so 的 --list 选项来罗列 ELF 映像的依赖项(ldd 命令也如此).切记,它仅仅是一个用户空间程序,是由内核在需要时引导的. 结束语 本文只涉及到了动态链接器功能的皮毛而已.在下面的 参考资料 中,您可以找到对 ELF 映像格式和过程或符号再定位的更详细的介绍.和 Linux 其他所有工具一样,你也可以下载动态链接器的源代码(参见 参考资料)来深入研究它的内部.
|
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |