C Run-Time Routines Cannot Be Placed in an Overlay

Last reviewed: July 17, 1997
Article ID: Q50524
5.10 6.00 6.00a 6.00ax 7.00 | 1.00 1.50
MS-DOS                      | WINDOWS
kbprg

The information in this article applies to:

  • Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, and 6.0ax
  • Microsoft C/C++ for MS-DOS, version 7.0
  • Microsoft Visual C++ for Windows, versions 1.0 and 1.5

The run-time routines for medium and large models (the only ones that overlays deal with) are compiled with /NT _TEXT. This puts all the routines in the same named segment. The linker cannot split a segment between the root and an overlay. Segmentation takes precedence over overlays. The linker constructs overlays from segments, not individual functions, unless function level linking is enabled in C/C++ version 7, or Visual C++ version 1.0.

The first request for the segment (in an .OBJ that goes in the root or in an overlay) determines where the linker will place the entire segment (root or overlay). If your extracted .OBJ is in the overlay, all the run time gets put into the overlay.

Consequently, the entry point of the overlay manager is put into the overlay and not in the root, so the overlay manager code (also in _TEXT) is not present in memory at startup. This causes the machine to hang.


Additional reference words: kbinf 1.00 1.50 6.00 6.00a 6.00ax 7.00
KBCategory: kbprg
KBSubCategory: StaticOverlay
Keywords : kb16bitonly


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 17, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.