User Tools

Site Tools


2015:2015:what_s_an_abi_and_why_is_it_so_complicated

Back to 2015-proposals

Title: What's an ABI and why is it so complicated?
Proposer: Jonathan Wakely
Type: Tutorial
Duration: 90 mins
Description:
The Application Binary Interface (ABI) for software written in C++ is much more complicated than the equivalent for C. In addition to obvious properties of the architecture such as instruction set and calling conventions, and details of how standard library types are defined, a C++ compiler has to care about details such as how name mangling, virtual functions and exception-handling are implemented. In your own code, the One Definition Rule means that the full definition of inline functions and template may become part of your program's ABI. This session will look at what depends on the ABI, what in your code affects your program's ABI, and what doesn't affect it. We will also look at recent changes in GCC's C++ standard library and how changes to the ABI were managed.



2015/2015/what_s_an_abi_and_why_is_it_so_complicated.txt · Last modified: 2016/06/11 14:05 by 127.0.0.1