ABI Overview: binary interface concepts

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/9

flashcard set

Earn XP

Description and Tags

Flashcards covering the key concepts about Application Binary Interface (ABI), its components, and its difference from API.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

10 Terms

1
New cards

Application Binary Interface (ABI)

A hardware-level interface between two software components that defines how code interacts at the binary level, including calling conventions, data layout, system calls, and register usage.

2
New cards

Calling convention

The ABI-defined rules for how to pass arguments to a function and how to return a value.

3
New cards

Caller-save registers

Registers that the caller must assume may be overwritten by the callee; if needed after the call, the caller must save them before making the call.

4
New cards

Callee-save registers

Registers that the callee must preserve and restore before returning, so the caller sees them unchanged.

5
New cards

Data layout in memory

How the ABI specifies the representation of data in memory, including type layout, alignment, and padding.

6
New cards

System calls

The mechanism defined by the ABI for requesting services from the operating system (transitions between user and kernel mode) and the calling convention for those calls.

7
New cards

Hardware registers usage

How the ABI prescribes which processor registers hold arguments, return values, and temporary data during a call.

8
New cards

API vs ABI difference

API is a source-code level interface; ABI is a binary-level interface ensuring compatibility at runtime.

9
New cards

Library interoperability via ABI

Independently developed libraries can work together if they conform to the same ABI, without agreeing on internal details.

10
New cards

Fill-in-the-blank example

common