FIX: LINK 5.3 Consumes All Available Free Disk Space or HangsLast reviewed: September 16, 1997Article ID: Q86812 |
5.30
MS-DOS
kbtool kbcode kberrmsg kbbuglist kbfixlist
The information in this article applies to:
SYMPTOMSAn attempt to link an application fails when Microsoft LINK version 5.3 consumes all available free disk space and hangs. The exact symptoms depend on the specified command-line options and on the linked code. Some of the behaviors are as follows:
CAUSEThese problems occur when LINK attempts to write CodeView information and a symbol is defined as both a data item and a function in the same object module. In other words, these problems occur when all of the following five conditions occur simultaneously:
RESOLUTIONTo work around this problem, perform one of the following four steps:
- Change the name of one of the conflicting symbols - Modify the LINK command line to specify the /NOIGNORECASE option - Modify the LINK command line to remove the /CODEVIEW option - Modify the application source code to initialize the data item STATUSMicrosoft has confirmed this to be a problem in LINK version 5.3 for MS-DOS (provided with Microsoft C/C++ version 7.0 for MS-DOS and Windows). This problem was corrected in LINK version 5.31.009 for MS-DOS (provided with the C/C++ version 7.0a for MS-DOS and Windows patch disk). To obtain the patch disk, obtain a disk from Microsoft. To obtain a disk in the United States, call Microsoft Product Support Services at (206) 454-2030. Outside the United States, contact the Microsoft subsidiary for your area. To locate your subsidiary, go to the Microsoft Web site http://www.microsoft.com/worldwide/default.htm
MORE INFORMATIONThe following code example demonstrates this problem. LINK generates the following message and hangs:
L2025: _FuncName: symbol defined more than onceIf the application initializes FUNCNAME to a value or if the LINK command line omits the /CODEVIEW option switch, the L2025 error persists but LINK does not hang. To eliminate the error completely, rename one of the symbols or specify the /NOIGNORECASE LINK option.
Sample Code
/* * Compile options needed: /c * Link options needed: /CO */ #include <stdio.h> void FuncName(int i){ printf("function called: %d\n", i);}
int FUNCNAME; void main(void){ FUNCNAME = 1; FuncName(FUNCNAME);}
|
Additional reference words: 5.30 7.00 CVPACK
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |