我在编译linux2.6.30的时候,关于是否在内核特性主页中选择ABI或EABI出现了疑问,现在网上引用了下面的内容,在此向作者表示感谢:

1。什么是ABI

ABI,application binary interface (ABI),应用程序二进制接口。

既然是 接口,那就是某两种东西之间的沟通桥梁,此处有这些种情况:

A。应用程序 <-> 操作系统;

B。应用程序 <-> (应用程序所用到的)库

C 。应用程序各个组件之间



类似于API的作用是使得程序的代码间的兼容,ABI目的是使得程序的二进制(级别)的兼容。



2。什么是OABI 和 EABI

OABI中的O,表示“Old”,“Lagacy”,旧的,过时的,OABI就是旧的/老的ABI。

EABI中的E,表示“Embedded”,是一种新的ABI。

EABI有时候也叫做GNU EABI。

OABI和EABI都是专门针对ARM的CPU来说的。



3。EABI的好处 / 为何要用EABI

A。支持软件浮点和硬件实现浮点功能混用

B。系统调用的效率更高

C。后今后的工具更兼容

D。软件浮点的情况下,EABI的软件浮点的效率要比OABI高很多。



4。OABI和EABI的区别

两种ABI在如下方面有区别:

A。调用规则(包括参数如何传递及如何获得返回值)

B。系统调用的数目以及应用程序应该如何去做系统调用

C。目标文件的二进制格式,程序库等

D。结构体中的 填充(padding/packing)和对齐。

Embedded application binary interface, 即嵌入式应用二进制接口,是描述可连接目标代码,库目标代码,可执行文件影像,如何连接,执行和调试,以及目标代码生成过程,和c, c++语言接口的规范,是编译连接工具的基础规范,也是研究它们工作原理的基础.

LINUX中EABI和ABI的理解相关推荐

  1. 对嵌入式Linux中的根文件系统的理解和解析

    虽然前面已经利用Busybox制作了根文件系统,但是对于根文件系统的作用和普通的文件系统之间的区别还是有点模糊.通过查找资料总结了一 下对根文件系统的理解,也欢迎大家一起讨论.    首先要明白的是& ...

  2. linux ps -ef和ps -aux,关于Linux中ps -aux的深入理解

    要想把每一件事情都做到无懈可击,就必须从小事做起,付出你的热情和努力! 直接进入主题: 对于ps -aux的认识 ps -aux:显示所有包含其他使用者的进程 在终端软件输入该命令显示结果如下: ps ...

  3. python的深浅拷贝与linux中的软硬链接

    记录一下我对python的深浅拷贝以及linux中的软硬链接的理解 放在开头 软硬连接 python中对象的深浅拷贝 浅拷贝 深拷贝 copy.copy()对可变和不可变对象的不同 总结 放在开头 在 ...

  4. 如何理解 Linux 中的 load averages

    原文:https://mp.weixin.qq.com/s?src=11&timestamp=1533697106&ver=1047&signature=poqrJFfcNAB ...

  5. (转载)深入理解Linux中内存管理---分段与分页简介

    首先,必须要阐述一下这篇文章的主题是Linux内存管理中的分段和分页技术. 来回顾一下历史,在早期的计算机中,程序是直接运行在物理内存上的.换句话说,就是程序在运行的过程中访问的都是物理地址.如果这个 ...

  6. 理解 Linux 中 `ls` 的输出

    理解 Linux 中 ls 的输出 ls 的输出会因各 Linux 版本变种而略有差异,这里只讨论一般情况下的输出. 下面是来自 man page 关于 ls 的描述: $ man ls ls - l ...

  7. linux怎样自动检查link文件_怎样理解和识别 Linux 中的文件类型 | Linux 中国

    众所周知,在 Linux 中一切皆为文件,包括硬盘和显卡等.在 Linux 中导航时,大部分的文件都是普通文件和目录文件.但是也有其他的类型,对应于 5 类不同的作用.因此,理解 Linux 中的文件 ...

  8. linux内核err实现,Linux中IS_ERR()函数的理解

    在Linux源码中的fs部分,经常会碰到这样的函数(位于kernel/include/linux/fs.h): /* * Kernel pointers have redundant informat ...

  9. linux文件i节点,深入理解linux中i节点(inode)

    对于Unix系列的操作系统,大多都有v节点.但是对于linux来说,只有通用的i节点,却没有v节点. 下面来探讨一下,linux下的i节点. linux中,文件查找不是通过文件名称来查找的.实际上是通 ...

最新文章

  1. ScheduleThreadPoolExecutor的工作原理与使用示例
  2. Mybatis-入门篇-根据官方文档搭建
  3. npm运行报错:Error: ENOSPC: System limit for number of file watchers reached
  4. 20应用统计考研复试要点(part23)--简答题
  5. 重学数据结构——快速排序,二分法查找
  6. CH579 以太网转串口 串口服务器代码!
  7. OFD格式及OFD阅读器
  8. AQL学习笔记(二)--文档的创建
  9. 电脑32位和64位是什么
  10. STM32通过IIC驱动MLX90614红外温度传感器
  11. 【程序员学理财】零和博弈和对股市的一些了解
  12. 双击启动PS软件界面不显示、PS无法打开,解决方法
  13. 哪里有纯免费的PPT模板下载网站?
  14. 电子商务网站建设策划书_竞赛解析 | 全国大学生电子商务“创新、创意及创业”挑战赛...
  15. 装几只“加密狗”都无妨:活用打印机共享器
  16. php判断关联数组为空,php 关联数组判断是否为空
  17. fedora28/29/32/centos ipmi 登录解决
  18. 每天一个---- 吉尔德定律和迈特卡尔定律
  19. Python爬取全国大学排名 用pyecharts进行大屏可视化
  20. PHP artisan命令

热门文章

  1. 操作系统课程设计--简单文件系统的实现
  2. 使用pycharm配置出现Conda executable path is empty问题
  3. ORACLE日期函数浅谈
  4. 模电(二)半导体二极管
  5. 三:Sensor SLPI层代码分析---
  6. 一个极其简单的用golang net写的tcpip echoserver
  7. php 实现无限极分类详解
  8. IT十八掌 大数据技术资料+内部资料
  9. AWS免费服务器申请
  10. python 学习之Windows 下的编码处理!