Application Binary Interface (ABI)
Questions tagged [abi]
7 questions
7
votes
2 answers
What's the REAL benefit of using CDECL? (more specifically pushing instead of reg-ing)
So, I'm learning assembly, and I've come to know the ABIs and i got some basics tests working using the cdecl calling convention to use the c's stdlib under nasm.
But I've seen other Calling Conventions (like topspeed/Clarion/JPI/watcom/borland…

Nande
- 173
- 1
- 7
4
votes
2 answers
How do you stick to an ABI/API in a commercial library?
How does a commercial library vendor manage to stick to the same ABI over years of development (or is this a bad assumption on my part)?
I would have thought that over time a lot of functions and class interfaces would be completely rewritten. Do…

NeomerArcana
- 361
- 3
- 11
3
votes
0 answers
How has Windows maintained binary compatibility for over 20 years?
Modern Windows 10 can run binaries that were compiled on 20 years ago for Windows 95 or NT4, however I imagine that the libraries that the code is calling would have changed massively since then.
I know that it is possible to maintain binary…

Albert Tomanek
- 139
- 3
2
votes
3 answers
Is ABI governed by hardware or is it only an agreement between software
ABI (Application binary interface) defines things like caller and callee saved registers, stack use, register use, end-of-routine stack pop etc.
Is ABI only an agreement between compilers and other software to make sure they don't overwrite each…

Dave
- 21
- 1
2
votes
0 answers
Is it dangerous to link together -mno-red-zone and regular code?
I know that in x86_64, there exists a 128 byte red zone above (or below, address-wise) the stack pointer that functions can use without subtracting from rsp.
This sounds to me like the only things that need to be aware of the red-zone are situations…

Ferdi265
- 129
- 1
2
votes
2 answers
Is there an interface definition language for software libraries?
Suppose I am writing a C++ library that I intend to distribute in binary form, with interfaces from other languages (e.g. Python). The 'easy' approach of just compiling the library and distributing the DLL or Framework does not work well.
For it to…

Timmmm
- 226
- 1
- 6
1
vote
1 answer
Is serialization strategy part of an abi?
According to semver, the major version of a component must be updated when an abi-breaking change is incorporated. Wikipedia does a good job of describing how abi defines the interaction between different components and includes data types in its…

David Cowden
- 2,903
- 17
- 23