VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1653|回复: 4

请教大家关于ELF格式文件的问题

[复制链接]

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-7 23:00:01 | 显示全部楼层 |阅读模式
UNIX下的哪些文件用ELF格式来表示,如果写一个程序生成.obj文件.so文件.a文件,以及a.out 这些文件是不是都是ELF格式的?有没有相关的软件能够看ELF格式的文件?
回复

使用道具 举报

0

主题

13

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-1-17 21:18:02 | 显示全部楼层
你说的哪几种似乎都不是ELF文件格式。所谓ELF文件格式是Linux下的可执行文件格式,a.out格式是一种比较老的UNIX可执行文件格式。

ELF格式的文件可以用elfdump命令查看信息。
回复

使用道具 举报

1

主题

11

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-1-17 22:27:02 | 显示全部楼层
a.out确实是一种比较老的格式,与ELF格式不同。
现在gcc在不使用-o参数的情况下生成的可执行文件的文件名为"a.out",但这只是一个名称而已,它实际上是ELF格式的文件。
使用命令 file filemame 可以查看文件的格式:
hyg@ubuntu610:~/test/moduleTest$ file a.out
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), for GNU/Linux 2.6.0, not stripped
回复

使用道具 举报

2

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-2-10 16:45:01 | 显示全部楼层
请问在UNIX下哪些文件是ELF格式的?这种文件格式是编译器有关吗?是操作系统需要考虑的吗?
回复

使用道具 举报

1

主题

11

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-24 17:45:01 | 显示全部楼层
编译器生成的文件,当然与编译器有关了。
操作系统要加载这个文件,当然也要考知道它的格式。

至于哪些文件是ELF格式的,反正我现在在Linux下看到的可执行文件都是这个格式。
别的是不是我就不敢乱说了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

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