Viewing Decorated Names

The decorated name of a function is not generated until compilation. After the program is compiled, the linker uses the decorated form of the name. Use the LINK /MAP option to create a map file that shows decorated names. You can control the map output as follows:

Specify /MAP with no qualifier to get a map file that contains public symbols listed by name and by address. The map file gives the decorated form of C++ function names in each of these lists.

Specify /MAP:ADDRESS to get the same map file that /MAP creates but without the list of symbols sorted by name.

Specify /MAP:FULL to add the undecorated form of each name to the map file produced by /MAP. The undecorated form is given after the decorated name. This option also adds the contributions of object files to segments.

To see the undecorated form of the decorated name, you must use /MAP:FULL. Note that inline functions do not generate entries in a map file. For more information on LINK and the /MAP option, see Chapter 14.

Examples

The following are examples of decorated names and their undecorated versions:

?calc@YAHH@Z

int __near __cdecl calc(int)

?getMonth@Date@QACHXZ

public: int __near __pascal Date::getMonth(void)__near

These names are from the map file that is produced when /MAP:FULL is specified to the linker.