What is ABI(Application Binary Interface)?

发布时间:2026-03-18 04:50

You're correct about the definition of an ABI, up to a point. The classic example is the syscall interface in Linux (and other UNIXes).

They are a standard way for code to request the operating system to carry out certain duties.

As such, they're decided by the people that wrote the OS or, in the case where the syscalls have been added later, by whoever added them (in cases where the OS allows this). For example, the Linux syscall interface on x86 states that you load the syscall number into eax, with other parameters placed in ebx, ecx and so on, depending on the syscall you're making (eax).

Typically, it's not the compiler or linker which do the work of interfacing, rather it's the libraries provided for the language you're using.

Returning to Linux, the GNU C libraries contain code for fopen (for example) which eventually call the relevant syscall to perform the lower level tasks (syscall number 5, open). A list of the syscalls can be found in this PDF file.

网址:What is ABI(Application Binary Interface)? https://mxgxt.com/news/view/2054570

相关内容

SQLite
What is the engagement rate metric? How is it calculated? And what is its purpose?
50 is what percent of 200? or, What percent is 50 of 200?
50 is what percent of 200?
What is 2 + 5?
What is a Spaghetti Western — History and Legacy Explained
What Date Is 10 Days from Today?
The Architecture of Open Source Applications (Volume 1)Jitsi
Component Object Model (COM) 是什么?
什么是爱 What is love?

随便看看