程序员的自我修养--链接,装载,库

本文介绍了Linux下可执行文件的标准格式ELF(Executable Linkable Format),包括可重定位文件、可执行文件、共享目标文件和核心转储文件四种类型,并详细解释了它们的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算机系统软件体系结构采用一种层的结构:

        “计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”

        “Any problem in computer science can be solved by another layer of indirection.”


1.1 目标文件的格式

      可执行文件格式在linux下ELF(Executable Linkable Format), 它们都是COFF(Common file format)格式的变种。

        目标文件( .o) 和执行文件的美容和结构相似,一般跟可执行文件格式一起采用一种格式存储。动态链接库(Linux的 .so)

及静态链接库( Linux的.a )文件都按照可执行文件存储。


ELF文件类型说明实例
可重定位文件
(Relocatable File)
包含了代码和数据,可以被用来链接成可执行文件或共享目标文件,静态链接库也可以归为这一类Linux的 .o
可执行文件
(Executable File)
包含了可以直接执行的程序,它的代表就是ELF可执行文件,一般都没有扩展名/bin/bash 文件
共享目标文件
(Shared Object FIle)
包含了代码和数据,可以在两种情况下使用。一种是链接器可以使用这种文件跟其他的可重定位文件和工项目便文件链接,产生新的目标文件。第二种是董涛链接器可以讲几个这种共享目标文件与可执行文件结合,作为进程映象的一部分来运行。.so
核心转储文件
(Core Dump File)
当进程意外终止时,系统可以将该进程的地址空间的内容及终止时的一些其他信息转储到核心转储文件core dump

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值