What does name mangling mean?

Definitions for name mangling
name man·gling

This dictionary definitions page includes all the possible meanings, example usage and translations of the word name mangling.


Did you actually mean name calling or nonchalance?

Wikipedia

  1. Name mangling

    In compiler construction, name mangling (also called name decoration) is a technique used to solve various problems caused by the need to resolve unique names for programming entities in many modern programming languages. It provides a way of encoding additional information in the name of a function, structure, class or another datatype in order to pass more semantic information from the compiler to the linker. The need for name mangling arises where the language allows different entities to be named with the same identifier as long as they occupy a different namespace (typically defined by a module, class, or explicit namespace directive) or have different signatures (such as in function overloading). It is required in these use cases because each signature might require different, specialized calling convention in the machine code. Any object code produced by compilers is usually linked with other pieces of object code (produced by the same or another compiler) by a type of program called a linker. The linker needs a great deal of information on each program entity. For example, to correctly link a function it needs its name, the number of arguments and their types, and so on. The simple programming languages of the 1970s, like C, only distinguished subroutines by their name, ignoring other information including parameter and return types. Later programming languages, like C++, defined stricter requirements for routines to be considered "equal", such as the parameter types, return type, and calling convention of a function. These requirements enable method overloading and detection of some bugs (such as using different definitions of a function when compiling different source files). These stricter requirements needed to work with existing tools and conventions; therefore, additional requirements were encoded in the name of the symbol, since that was the only information the traditional linker had about a symbol. Another use of name mangling is for detecting additional non-signature related changes, such as function purity, or whether it can potentially throw an exception or trigger garbage collection. An example of a language doing this is D. These are more of a simplified error checking. For example, functions int f(); and int g(int) pure; could be compiled into one object file, but then their signatures changed to float f(); int g(int); and used to compile other source calling it. At link time the linker will detect there is no function f(int) and return an error. Similarly, the linker will not be able to detect that the return type of f is different, and return an error. Otherwise, incompatible calling conventions would be used, and most likely produce the wrong result or crash the program. Mangling doesn't usually capture every detail of the calling process. For example, it doesn't fully prevent errors like changes of data members of a struct or class. For example, struct S {}; void f(S) {} could be compiled into one object file, then the definition for S changed to be struct S { int x; }; and used in the compilation of a call to f(S()). In such cases, the compiler will usually use a different calling convention, but in both cases f will mangle to the same name, so the linker will not detect this problem, and the result will usually be a crash or data- or memory corruption at runtime.

How to pronounce name mangling?

How to say name mangling in sign language?

Numerology

  1. Chaldean Numerology

    The numerical value of name mangling in Chaldean Numerology is: 4

  2. Pythagorean Numerology

    The numerical value of name mangling in Pythagorean Numerology is: 2

Translation

Find a translation for the name mangling definition in other languages:

Select another language:

  • - Select -
  • 简体中文 (Chinese - Simplified)
  • 繁體中文 (Chinese - Traditional)
  • Español (Spanish)
  • Esperanto (Esperanto)
  • 日本語 (Japanese)
  • Português (Portuguese)
  • Deutsch (German)
  • العربية (Arabic)
  • Français (French)
  • Русский (Russian)
  • ಕನ್ನಡ (Kannada)
  • 한국어 (Korean)
  • עברית (Hebrew)
  • Gaeilge (Irish)
  • Українська (Ukrainian)
  • اردو (Urdu)
  • Magyar (Hungarian)
  • मानक हिन्दी (Hindi)
  • Indonesia (Indonesian)
  • Italiano (Italian)
  • தமிழ் (Tamil)
  • Türkçe (Turkish)
  • తెలుగు (Telugu)
  • ภาษาไทย (Thai)
  • Tiếng Việt (Vietnamese)
  • Čeština (Czech)
  • Polski (Polish)
  • Bahasa Indonesia (Indonesian)
  • Românește (Romanian)
  • Nederlands (Dutch)
  • Ελληνικά (Greek)
  • Latinum (Latin)
  • Svenska (Swedish)
  • Dansk (Danish)
  • Suomi (Finnish)
  • فارسی (Persian)
  • ייִדיש (Yiddish)
  • հայերեն (Armenian)
  • Norsk (Norwegian)
  • English (English)

Word of the Day

Would you like us to send you a FREE new word definition delivered to your inbox daily?

Please enter your email address:


Citation

Use the citation below to add this definition to your bibliography:

Style:MLAChicagoAPA

"name mangling." Definitions.net. STANDS4 LLC, 2024. Web. 27 Apr. 2024. <https://www.definitions.net/definition/name+mangling>.

Discuss these name mangling definitions with the community:

0 Comments

    Are we missing a good definition for name mangling? Don't keep it to yourself...

    Free, no signup required:

    Add to Chrome

    Get instant definitions for any word that hits you anywhere on the web!

    Free, no signup required:

    Add to Firefox

    Get instant definitions for any word that hits you anywhere on the web!

    Browse Definitions.net

    Quiz

    Are you a words master?

    »
    occurring from time to time
    A disjointed
    B cosmopolitan
    C nasty
    D occasional

    Nearby & related entries:

    Alternative searches for name mangling: