首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >API与ABI的区别

API与ABI的区别
EN

Stack Overflow用户
提问于 2018-03-27 00:52:29
回答 2查看 0关注 0票数 0

我是linux系统编程新手,在阅读时遇到了api和abi。

空气污染指数的定义:

API定义了一个软件在源级与另一个软件通信的接口。

ABI的定义:

API定义源接口,ABI则定义特定体系结构上两个或多个软件之间的低级二进制接口。它定义了应用程序如何与自身交互,应用程序如何与内核交互,以及应用程序如何与库交互。

程序如何在源级进行通信?什么是源级?它与源代码有关系吗?或者库的源被包含在主程序中?

我所知道的唯一不同之处是API主要由程序员使用,ABI主要由编译器使用。

EN

Stack Overflow用户

发布于 2018-03-27 08:59:25

API是人类使用的。我们编写源代码。当我们编写一个程序并想要使用一些库函数时,我们编写如下代码:

代码语言:txt
复制
 long howManyDecibels = 123L;
 int ok = livenMyHills( howManyDecibels);

我们需要知道有一种方法livenMyHills(),它接受一个长整数参数。因此,作为一个编程接口,它都是用源代码表示的。编译器将其转换为可执行指令,这些指令符合此语言在此特定操作系统上的实现。在这种情况下,在音频单元上产生一些低级操作。所以特定的比特和字节会在某些硬件上喷射出来。所以在运行时,有很多二进制级别的操作,我们通常看不到。

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100003699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档