关 于abi_abi的知识大家了解吗?以下就是小编整理的关于abi_abi的介绍,希望可以给到大家一些参考,一起来了解下吧!
abi,abi这个很多人还不知道,小飞来为大家解答以上的问题。现在让我们一起来看看吧!
1、比如我在PC上用不管什么样的COMPILER, 只要产生符合LINUX的ELF文件, 用相应的INSTRUCTION SET(比如INTEL, PPC, SPARC). 就可以在一个LINUX机器上运行. 调用系统或别人的LIB.ABI定义了BINARY的文件格式, 内容, 以及装载/卸载程序的要求, 函数调用的参数传递规则, 寄存器, 堆栈的使用等. abi(应用二进制接口)我的理解就是机器代码一层的接口。
(资料图)
2、先说一下api(特指系统调用),api基本上是和机器硬件平台无关但是和操作系统密切相关的接口,一个api调用定义了一个对内核的操作,以及操作的参数。
3、C语言会议函数的形式调用api。
4、abi,是比api更贴近硬件的一层接口,它规定的是二进制代码之间的调用规则。
5、举个例子来说吧!一个应用程序,调用了.so库中的函数或者系统调用,如果它的编译器可以找到被调用函数或者系统调用的话,则编译可以同过,也就是说,它是用的api是正确的。
6、但是,这个调用离成功还很远。
7、 首先,如果编译出来的代码和运行库函数和系统调用的代码不是一个硬件平台的,则这个应用根本就不能和被调用代码运行在一起,则调用不会成功。
8、即使库函数、系统调用和是运行在同一硬件平台上的调用也不一定会趁成功。
9、因为程序最终是被编译成二进制代码的,并且是要加载到内存中运行的。
10、那么,在调用库函数或者系统调用的时候,应用要先要以库函数或者系统调用指定的方式和位置(内存或者寄存器)设置参数,然后通过中断或者其他方式跳转到被调用代码的起始处进行执行,被调用代码从指定位置去到参数,处理完毕之后再将结果放到指定的位置,最后应用再到指定的地方取回结果,调用完毕!我认为这个过程中,存放参数和结果的位置属于abi规定的范围,被调用程序的跳转地址或者中断号码也是abi规定的范围。
11、如果存取参数、结果的位置没有明确的规范,或者调用、被调用双方没有遵照统一个规范,那么这个调用能够根本就不可能成功;如果系统提供的库函数路径不正确,调用也不会成功;如果中断代码使用错误,调用也不会正确。
今天的内容分享完毕,希望对大家有所帮助。
标签:
猜你喜欢
-
观天下!abi是什么?api和abi有什么区别?
abi,abi这个很多人还不知道,小飞来为大家解答以上的问题。现在让我们一起来看看吧!1、比如我在PC...更多
2022-11-18 10:54:59
-
世界观速讯丨天津市各区的邮政编码是多少?天津各
1、天津市各区邮政编码:和平区30004河东区30017河西区300202、南开区300100、河北区300143、红桥区...更多
2022-11-18 10:45:25
-
当前快报:红外光谱原理是什么?红外光谱怎么运行
1、红外光谱的原理是,当一束连续波长的红外光穿过物质,物质分子中基团的振动频率或转动频率与红外...更多
2022-11-18 10:48:04
-
时讯:广东廉江有什么特色?广东廉江发展怎么样?
1、廉江市,广东省湛江市代管县级市,位于广东省西南部,雷州半岛北部,与广西接壤,濒临北部湾,地...更多
2022-11-18 10:42:01
-
天天微头条丨2022年端午节银行休息吗?银行端午工
2022年端午节银行休息吗?银行端午工作时间表一览,2022银行端午节不上班,银行端午节是放假的,虽然...更多
2022-11-15 13:55:25
-
聚焦:招行信用卡网上怎么还款?招行信用卡网上还
招行信用卡网上怎么还款?手续费多少钱?,一、招行信用卡网上还款怎么还1、网上银行还款,登录招商...更多
2022-11-15 13:58:34
-
焦点热讯:工行利率表2022新版利率是多少?工行大
工行利率表2022新版利率工行大额存单利率2022表,现在大家把钱放在银行储蓄,无非就是图银行安全以及...更多
2022-11-14 14:32:49
-
当前热点-中国银行贷款条件要求有哪些?2022年中
2022年中国银行贷款利率表一览表,2022年中国银行贷款利率表一览表中国银行2022年贷款基准利率表一览...更多
2022-11-14 14:46:12
-
观天下!平安银行元旦放假吗?平安银行信用卡进度
平安银行元旦放假吗?2022年1月1日银行是否上班?,据了解,平安银行元旦期间大部分网点均放假,少数...更多
2022-11-14 14:45:54
-
当前头条:2022年5月1日银行上班吗?五一银行放假
2022年5月1日银行上班吗?五一银行放假时间表,5月1日是五一劳动放假日。部分网点有营业,不是所有网...更多
2022-11-14 14:29:40