This is a discussion on Name mangling within the C and C++ Programming forums, part of the Software Development category; Name mangling Name mangling is the process through which your c++ compilers give each function in your program a unique ...
| |||||||
| Register | FAQ | Members List | Calendar | Mark Forums Read |
| |||
| Name mangling Name mangling is the process through which your c++ compilers give each function in your program a unique name. In C++, all programs have at-least a few functions with the same name. Name mangling is a concession to the fact that linker always insists on all function names being unique. Example: In general, member names are made unique by concatenating the name of the member with that of the class e.g. given the declaration: class Bar { public: int ival; ... }; ival becomes something like: // a possible member name mangling ival__3Bar Consider this derivation: class Foo : public Bar { public: int ival; ... } The internal representation of a Foo object is the concatenation of its base and derived class members. // Pseudo C++ code // Internal representation of Foo class Foo { public: int ival__3Bar; int ival__3Foo; ... }; Unambiguous access of either ival members is achieved through name mangling. Member functions, because they can be overloaded, require an extensive mangling to provide each with a unique name. Here the compiler generates the same name for the two overloaded instances(Their argument lists make their instances unique).
__________________ J.Vijayanand |
| Sponsored Links |
![]() |
| Thread Tools | |
| Display Modes | |
| |