维基百科是这样说的:
在计算机软件中,应用程序二进制接口(ABI)描述应用程序(或任何类型的)程序与操作系统或其他应用程序之间的低级接口。
ABI介绍了一些细节,比如数据类型、大小和对齐方式;调用约定,它控制如何传递函数的参数以及如何检索返回值;系统调用号以及应用程序应该如何对操作系统进行系统调用;对于完整的操作系统ABI,还包括目标文件、程序库等的二进制格式。完整的ABI (如英特尔二进制兼容性标准(iBCS) )允许来自支持该ABI的操作系统的程序无需修改即可在任何其它此类系统上运行,前提是存在必要的共享库,并且满足类似的先决条件。
我认为ABI是一种约定或标准,编译器/链接器使用这种约定来生成目标代码。是那么回事吗?如果是这样的话,是谁制定了这些约定(公司或一些组织)?没有ABIs的时候是什么样子的?有没有我们可以参考的关于这些ABIs的文档?
https://stackoverflow.com/questions/4814977
复制相似问题