GNU C++ Renovation Project - Encoding

Node: Encoding Prev: ANSI Up: Top

Name Encoding in gnu C++

In order to support its strong typing rules and the ability to provide function overloading, the C++ programming language encodes information about functions and objects, so that conflicts across object files can be detected during linking. (This encoding is also sometimes called, whimsically enough, mangling; the corresponding decoding is sometimes called demangling.) These rules tend to be unique to each individual implementation of C++.

The scheme detailed in the commentary for 7.2.1 of The Annotated Reference Manual offers a description of a possible implementation which happens to closely resemble the cfront compiler. The design used in gnu C++ differs from this model in a number of ways:


Up: Top