Format of a C++ Decorated Name

A decorated name for a C++ function contains the following information:

  • The function name.

  • The class that the function is a member of, if it is a member function. This may include the class that encloses the function's class, and so on.

  • The namespace the function belongs to (if it is part of a namespace).

  • The types of the function's parameters.

  • The calling convention.

  • The return type of the function.

The function and class names are encoded in the decorated name. The rest of the decorated name is a code that has internal meaning only for the compiler and the linker. The following are examples of undecorated and decorated C++ names.

Undecorated name

Decorated name

int a(char){int i=3;return i;};

?a@@YAHD@Z

void __stdcall b::c(float){};

?c@b@@AAGXM@Z

See Also

Reference

Using Decorated Names