当前位置:首页 » 操作系统 » elflinux

elflinux

发布时间: 2024-07-02 23:31:53

linux下运行elf的可执行文件,都调用了哪些系统调用

ELF(Executable and Linking Format)是一种对象文件的格式,用于定义不同类型的对象文件(Object files)中都放了什么东西、以及都以什么样的格式去放这些东西。它自最早在 System V 系统上出现后,被 xNIX 世界所广泛接受,作为缺省的二进制文件格式来使用。可以说,ELF是构成众多xNIX系统的基础之一,所以作为嵌入式Linux系统乃至内核驱动程序开发人员,你最好熟悉并掌握它。
其实,关于ELF这个主题,网络上已经有相当多的文章存在,但是其介绍的内容比较分散,使得初学者不太容易从中得到一个系统性的认识。为了帮助大家学习,我这里打算写一系列连贯的文章来介绍ELF以及相关的应用。这是这个系列中的第一篇文章,主要是通过不同工具的使用来熟悉ELF文件的内部结构以及相关的基本概念。后面的文章,我们会介绍很多高级的概念和应用,比方动态链接和加载,动态库的开发,C语言Main函数是被谁以及如何被调用的,ELF格式在内核中的支持,Linux内核中对ELF section的扩展使用等等。
好的,开始我们的第一篇文章。在详细进入正题之前,先给大家介绍一点ELF文件格式的参考资料。在ELF格式出来之后,TISC(Tool Interface Standard Committee)委员会定义了一套ELF标准。你可以从这里(http://refspecs.freestandards.org/elf/)找到详细的标准文档。TISC委员会前后出了两个版本,v1.1和v1.2。两个版本内容上差不多,但就可读性上来讲,我还是推荐你读 v1.2的。因为在v1.2版本中,TISC重新组织原本在v1.1版本中的内容,将它们分成为三个部分(books):
a) Book I
介绍了通用的适用于所有32位架构处理器的ELF相关内容
b) Book II
介绍了处理器特定的ELF相关内容,这里是以Intel x86 架构处理器作为例子介绍
c) Book III
介绍了操作系统特定的ELF相关内容,这里是以运行在x86上面的 UNIX System V.4 作为例子介绍
值得一说的是,虽然TISC是以x86为例子介绍ELF规范的,但是如果你是想知道非x86下面的ELF实现情况,那也可以在http://refspecs.freestandards.org/elf/中找到特定处理器相关的Supplment文档。比方ARM相关的,或者MIPS相关的等等。另外,相比较UNIX系统的另外一个分支BSD Unix,Linux系统更靠近 System V 系统。所以关于操作系统特定的ELF内容,你可以直接参考v1.2标准中的内容。
这里多说些废话:别忘了 Linus 在实现Linux的第一个版本的时候,就是看了介绍Unix内部细节的书:《The of the Unix Operating System》,得到很多启发。这本书对应的操作系统是System V 的第二个Release。这本书介绍了操作系统的很多设计观念,并且行文简单易懂。所以虽然现在的Linux也吸取了其他很多Unix变种的设计理念,但是如果你想研究学习Linux内核,那还是以看这本书作为开始为好。这本书也是我在接触Linux内核之前所看的第一本介绍操作系统的书,所以我极力向大家推荐。(在学校虽然学过操作系统原理,但学的也是很糟糕最后导致期末考试才四十来分,记忆仿佛还在昨天:))
好了,还是回来开始我们第一篇ELF主题相关的文章吧。这篇文章主要是通过使用不同的工具来分析对象文件,来使你掌握ELF文件的基本格式,以及了解相关的基本概念。你在读这篇文章的时候,希望你在电脑上已经打开了那个 v1.2 版本的ELF规范,并对照着文章内容看规范里的文字。

❷ Linux里面ps -elf作用是什么

ps -elf与ps aux 查询目的是一样的, 显示所有在运行的进程, 前者是用bsd的格式输出,后者是用标准格式输出。

❸ Linux下编译.elf的问题

呵呵 骑驴找驴 linux下的可执行文件和共享库都是elf格式。明白了吗?
你可以用readelf,objmp查看elf文件格式 elf问文件格式 其对*.out *.o *.a 的关系 就想到于PE对于*.exe , *.dll 的关系一样。这是常识,再常识上出错,别人会笑话你阿。

热点内容
java把一个list 发布:2024-11-26 08:38:38 浏览:585
混沌珠算法 发布:2024-11-26 08:29:17 浏览:163
阿里云解析不到服务器 发布:2024-11-26 07:57:59 浏览:493
python矩阵的行数 发布:2024-11-26 07:56:25 浏览:355
街头篮球手游脚本 发布:2024-11-26 07:51:18 浏览:752
闪迪加密器 发布:2024-11-26 07:44:08 浏览:553
我的世界服务器显示村民名字 发布:2024-11-26 07:37:16 浏览:479
php注册与登录 发布:2024-11-26 07:31:21 浏览:796
基金账户如何配置 发布:2024-11-26 07:29:58 浏览:181
用电脑怎么刷汽车行车电脑配置 发布:2024-11-26 07:24:14 浏览:689