-1

As from this Question What is Application binary Interface, ABIs cover details such as

  • data type, size, and alignment;
  • the calling convention, which controls how functions' arguments are passed and return values retrieved;
  • the system call numbers and how an application should make system calls to the operating system;
  • Stack frames (activation records) [not in the above question]

My questions are,

  1. If ABIs define these rule then does the compiler that generates binaries for the target architecture depends on Architecture ABIs??? for example the compiler of ARM has to follow ARM eabi???
  2. Who design these ABIs??? the vendor, architecture designer (core), compiler designers???
4

1 回答 1

1

编译器只是一个类似于图像处理程序的程序。您有一个输入和一个输出,在这两种情况下它们都必须符合某些标准(语言、文件格式)。但是如何做取决于你。对于编译器案例,您只需要编写可在指令集定义的目标平台上运行的代码,对于一个健全的编译器,您可以选择或创建适用于该语言的调用约定,但这取决于您。

于 2017-06-10T12:45:43.250 回答