The information in this article applies to:
SYMPTOMS
An application that uses the Microsoft Overlaid Virtual Environment
may require more memory to run than the same program build with old
style (C 6.0) overlays or without any overlay manager. While the
size of the executable file may not change significantly, the
EXEHDR utility indicates that more memory is required to load the
program. (In EXEHDR version 3.0, memory required to load is the
last line of information displayed for an MS-DOS program.)
CAUSEThis problem may occur when one or more modules of the program is compiled with the /Gy (Enable function-level linking) compiler option and these modules are listed in the SEGMENTS statement in the .DEF file. RESOLUTIONTo avoid the problem, do one of the following:
MORE INFORMATION
The compiler creates a separate segment for each function in modules
compiled with the /Gy option switch. The compiler names each segment
comdat_seg<n>, where <n> is assigned successive integer values as
segments fill up. In addition, the compiler creates an empty segment
(0 bytes long) with the name <modulename>_TEXT. The error occurs
because the SEGMENTS statement in the DEF file specifies the empty
<modulename>_TEXT segments. LINK creates empty overlays and places the
functions into the root overlay (overlay 0). Because each overlay is
empty, the MOVE.TRC file produced by the tracing version of the
overlaid program is also empty.
Additional query words: 5.30 5.31.009 5.50
Keywords : kb16bitonly |
Last Reviewed: October 7, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |