ABI与API的区别
ABI是定义二进制级别的,两个模块的接口
比如一个二进制模块想要调用另外一个二进制模块提供的功能,它需要知道怎样通过汇编语言(即机器指令)去调用,以及怎样传递相应的参数和返回值(通过寄存器还是栈内存,以及参数压栈的顺序等细节)。
API是源代码级别的两个模块的接口
是提供到语言层次的函数调用,已经是和具体语言相关的。
比如一个二进制模块想要调用另外一个二进制模块提供的功能,它需要知道怎样通过汇编语言(即机器指令)去调用,以及怎样传递相应的参数和返回值(通过寄存器还是栈内存,以及参数压栈的顺序等细节)。
是提供到语言层次的函数调用,已经是和具体语言相关的。