C++-ABI gründlich verstehen: Was hinter den Kulissen passiert
Thoroughly Understanding C++ ABI

Der Artikel erklärt das Application Binary Interface (ABI) am Beispiel von C++ und zeigt, wie CPU, Betriebssystem, Objektdateiformat, Datendarstellung und Aufrufkonventionen die binäre Kompatibilität beeinflussen. Er vergleicht Windows x64 und System V ABI, diskutiert die Auswirkungen von Strukturänderungen auf die ABI-Stabilität und räumt mit Mythen auf, etwa dass die Übergabe großer Strukturen per Wert immer effizienter sei. Zudem beleuchtet er, warum unique_ptr und raw_ptr in Bezug auf die Aufrufkonventionen gleich effizient sind.
Die Übergabe von Strukturwerten, die kleiner als 16 Byte sind, ist effizienter als die Übergabe per Referenz.