Name Decoration

In computer programming, name decoration provides a way of encoding additional information about the name of a function, structure, class or another datatype in order to pass more semantic information from the compilers to linkers. 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, their type, and so on. To convey such information, a programmer may decorate the name is with additional control characters. For example, a C function called "MatrixMult" becomes:
  MatrixMult@8 
to indicate that the function arguments need 8 bytes of storage on the stack and -- assuming a fixed argument size of (say) 4 bytes (32 bits) -- that this function has 2 arguments. Other common name decoration actions may involve adding prefixes, usually with an abundance of underlines (like __func__), or some standard capitalization. Many programming languages like C, Fortran and Pascal define standards for name decoration. Following such standards, object code produced by a compiler can get linked to object code produced by another compiler. The C++ language does not define a standard decoration scheme, so each compiler uses its own. Combined with the fact that C++ decoration can become fairly complex (storing information about classes, default arguments, variable ownership, operator overloading, etc), this means that object code produced by different compilers is not usually linkable. Some coders use a less forgiving (and more honest) term for this technique: name mangling.

External links

*Citations from CiteSeer

 

<< PreviousWord BrowserNext >>
bbc 1xtra
gershom
contemporary classical music
karolina goceva
etienne jacques joseph alexandre macdonald
philippe paul, comte de sgur
three generations of human rights
johnny robinson
louis philippe, comte de sgur
ira losco
lionfish
instruction prefetch
hank stram
monica anghel
lamar hunt
visa (document)
auguste marmont
gyrgy kurtg
dan quisenberry
world fantasy award
louis alexandre berthier
world fantasy convention
croatian linguistic purism
camcorder
faverges
robert munsch
default argument
louis charles antoine desaix de veygoux
marcel pavel
montmin
john franklin
rank nullity theorem
welsh assembly government
andrew davies
exponential decay
front mission
annabel lee
red necked phalarope
red phalarope
wilson's phalarope
synthesis
ateneo de manila university
car safety
mean lifetime