[linux-elitists] Nobody's favorite language? C++ and free software

Sean Neakums sneakums@zork.net
Wed Mar 26 00:52:40 PST 2003

commence  Alan DuBoff quotation:

>> 3. Unstable C++ ABI in late g++ 2.9.x, early 3.x
> You can blame some of this on the mangling, since it is the mangling
> that defines how the objects in C++ are handled.

You can't blame any of it on mangling.  The reason different compilers
use different mangling schemes is because they use different ABIs, and
while using the same mangling scheme would allow code from different
compilers to be linked, the differing ABIs would make for short albeit
entertaining run-times.

An ABI defines a whole bunch of stuff, such as the calling convention,
how objects are laid out, the interface to runtime support and all
that jazz.  Laying out C++ objects becomes rapidly more complex as
features such as virtual functions, multiple inheritance and so on are
thrown in.  See Stroustrup's "The Design and Implementation Of C++"
and Lippman's "Inside The C++ Object Model" for the gory details.

Sean Neakums - <sneakums@zork.net>

More information about the linux-elitists mailing list