ID: Q84319
5.30 5.31.009 5.50 5.60 | 5.31
MS-DOS | OS/2
kbtool
The information in this article applies to:
When LINK versions 5.3 and later process a file created with Microsoft C/C++, the map file may contain decorated symbol names if the LINK command line includes the /MAP or /MAP:ADDRESS options. To create a map file that includes a translation of the decorated names, specify the /MAP:FULL option.
In the map file undecorated symbols appear with explicit qualifications, even though default values were used in the original source code. The C++ compiler determines the values for the explicit qualifiers. For example, the following declaration is part of the HELLO.H file in the C/C++ version 7.0 Microsoft Foundation Classes (MFC) Samples directory:
CMainWindow:public CFrameWnd
{
public:
CMainWindow();
...
}
The decorated name for the CMainWindow constructor is as follows:
??0CMainWindow@@QAC@XZ
The following undecorated name also appears in the map file if the LINK
command line includes the /MAP:FULL option:
public:__near __pascal CMainWindow::CMainWindow(void)__near
Based on the memory model used to build the application, the compiler gave
this constructor the __near and __pascal attributes. The __near declaration
at the end of the undecorated name represents the qualification for the
"this" pointer. In Microsoft C++, the "this" pointer for a non-static
member function can be qualified. Because a static member function does not
receive a "this" pointer, it does not have a "this" pointer qualifier. For
more information, refer to Appendix B in the Microsoft C/C++ "Environment
and Tools" manual for version 7.0.
Additional reference words: kbinf 5.30 5.31.009 5.50 5.60 LinkIss KBCategory: kbtool KBSubcategory: LinkIss Keywords : kb16bitonly
Last Reviewed: July 18, 1997