KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q59410: What Windows SDK Does to the C Run-Time Libraries

Article: Q59410
Product(s): See article
Version(s): 5.00 5.10 6.00
Operating System(s): MS-DOS
Keyword(s): ENDUSER | w_winsdk | mspl13_c
Last Modified: 11-JUL-1990

The Windows SDK does the following to the C run-time libraries:

1. It looks for all the libraries with xLIBCy.LIB, where x = memory
   model and y = e or a (emulator or alternate math).

2. It copies xLIBCy.LIB to xLIBCyC.LIB to retain the original C
   library.

3. It builds the windows libraries using *.bld files from the Windows
   SDK distribution disk. The result is xLIBCyW.LIB libraries.

   The following functions are taken out (-) and added (+) with the
   following libraries:

   a. C 5.00 emulator math libraries:

      -alloca   -amalloc -brk    -brkctl  -calloc   -cfpsig   -chkstk
      -chksum   -crt0    -crt0fp -em3     -emoem    -expand   -fheapchk
      -fheapwal -fmalloc -fmsize -freect  -halloc   -nheapchk -nheapwal
      -nmalloc  -nmsghdr -nmsize -realloc -stdalloc -xheapchk

      +__fpmath  +wfpsig

   b. C 5.10 emulator math libraries:

      -alloca   -amalloc -brkctl -brk     -calloc   -cfpsig   -chkstk
      -chksum   -crt0    -crt0fp -em      -emoem    -expand   -fheapchk
      -fheapwal -fmalloc -fmsize -freect  -halloc   -nheapchk -nheapwal
      -nmalloc  -nmsghdr -nmsize -realloc -stdalloc -xheapchk

      +__fpmath  +wfpsig

   c. C 5.00 or 5.10 alternate math libraries:

      -alloca -amalloc -brk      -brkctl   -calloc   -ccalle   -chkstk
      -chksum -crt0    -crt0fp   -expand   -fheapchk -fheapwal -fmalloc
      -fmsize -freect  -halloc   -nheapchk -nheapwal -nmalloc  -nmsghdr
      -nmsize -realloc -stdalloc -xheapchk

      +wfasig

4. It copies either xLIBCyC.LIB or xLIBCyW.LIB to xLIBCy.LIB,
   depending on which libraries you want to be used as the primary.
   The resulting libraries are xLIBCy.LIB (primary to be used),
   xLIBCyW.LIB (library for Windows SDK), and xLIBCyC.LIB (library for
   C).

If compiling with Microsoft C version 6.00 and using the Windows 2.1x
SDK, use the /Gh switch and link with the libraries from C version
5.10. In addition, use all the tools that shipped with the Windows
2.1x SDK, including LINK4.EXE and RC.EXE.

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.

Copyright Microsoft Corporation 1986-2002.