1 // This is the mainpage file for doxygen 2 // See <http://www.doxygen.nl/commands.html> 3 // for command help. 4 5 /*! \mainpage Libmangle 6 \author The mingw-w64 Dev Team 7 \version 1.0 8 \section intro_sec Introduction 9 10 Libmangle is library for translating C++ symbols produced by Microsoft Visual Studio C++ suite of tools into human readable names. 11 \subsection info_subsec Name Mangling 12 Name mangling is a technique used by modern compilers to add addition information about a function, a structure or a datatype to a symbol name. Information can include call parameter type and return type, symbol namespace and etc. Often, the way the information is encoded in specific to a compiler vendor. 13 \subsection cpp_subsec C++ and Name Mangling 14 Languages such as the C++ language do not define a standard name decoration scheme, most often code produced by one compiler is also incompatible with another C++ compiler ABI wise. Name mangling prevents accidentally linking to code meant for another compiler. 15 \subsection decde_subsec Deciphering Mangled Names 16 Libmangle allows symbol names on objects created by Microsoft Visual C++ tools to be decoded into human readable names. In addition to easing debugging, it also allows the possibility of non-MSVC tools to examine the objects. 17 \subsection external_subsec External Links 18 For more information, see: http://en.wikipedia.org/wiki/Name_mangling 19 \section install_sec Installation 20 21 Use the shell script "configure" and pass "--help" for library build and install options. 22 */ 23