Microsoft KB Archive/66650

= INFO: Purpose of &quot;Internal Linkage&quot; & &quot;No Linkage&quot; Information =

Article ID: 66650

Article Last Modified on 7/5/2005

-

APPLIES TO


 * Microsoft C Professional Development System 6.0a
 * Microsoft Visual C++ 1.0 Professional Edition
 * Microsoft Visual C++ 1.5 Professional Edition
 * Microsoft Visual C++ 2.0 Professional Edition
 * Microsoft Visual C++ 2.1
 * Microsoft Visual C++ 4.0 Standard Edition
 * Microsoft Visual C++ 5.0 Enterprise Edition
 * Microsoft Visual C++ 5.0 Professional Edition

-



This article was previously published under Q66650





SUMMARY
The term &quot;internal linkage&quot; refers to the functions and labels in the code that the compiler fixes up, as best it can, at compile time. However, because the linker coalesces the various segment pieces together (that is, the linker places the _DATA items into the _DATA segment, the _TEXT items into the _TEXT segment, and so on), the linker must fix up the final addresses for these items. This information is &quot;internal&quot; to the function.

The term &quot;no linkage&quot; refers to data (information) for which the linker has no use when it creates the final .EXE file, information such as structure names, typedefs, function parameters, local variable names, and so on. These values are resolved by the compiler (parameters or local variables that are stack based), or are used by other utilities after the linker fixes up the code (debugging and profiling information). Because this information may be required after linking and the compiler generates this information, the linker assigns it &quot;no linkage&quot; status and passes it through without change.

For more information on linkage types, see &quot;C Scope and Linkage: The Keys to Understanding Identifier Accessibility&quot; in the November 1988 issue of the &quot;Microsoft Systems Journal&quot;, or search the online documentation provided with all versions of Microsoft Visual C++ for the term &quot;linkage.&quot;

Keywords: kbinfo kblangc KB66650

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.