编译和 ABI 有什么关系?

Tim*_*Tim 4 compiler-construction abi

编译和 ABI 有什么关系?

编译器的唯一工作是为操作系统和/或其他应用程序构建应用程序二进制接口 (ABI) 吗?

关于 ABI,引自维基百科

ABI 涵盖数据类型、大小和对齐等细节;调用约定,它控制如何传递函数的参数和检索返回值;系统调用号以及应用程序应如何对操作系统进行系统调用;在完整的操作系统 ABI 的情况下,目标文件、程序库等的二进制格式。

感谢致敬!

Ern*_*ill 5

ABI 描述了底层操作系统的特性,并包括一些关于程序必须如何编译的规则。编译器的工作不是“构建”ABI,而是在创建可执行代码时符合ABI。