Visual C++ for Windows Conventional Memory Requirements

Last reviewed: July 17, 1997
Article ID: Q102156
1.00 WINDOWS kbtool

The information in this article applies to:

  • The Microsoft C/C++ Compiler (CL.EXE) included with: Microsoft Visual C++ for Windows, version 1.0

During the compilation process, the fast and optimizing compilers each require approximately 300K of MS-DOS conventional memory (addressed below 640K). The actual memory requirements can vary slightly. To compile a larger application, such as an application that uses the Microsoft Foundation Class Library, 400K conventional memory is recommended. To determine the amount of available conventional memory, use the MEM or CHKDSK utilities to determine the size of the largest executable program. If this value is less than the recommended value, Visual C++ may generate one of the following messages:

   error C1060: compiler is out of far heap space

   error C1700: fast compiler is out of far heap space

The compilers require conventional memory for the following reasons:
  • If the compilation is done in a background MS-DOS session, sufficient conventional memory must be available to run both the extended tools and the non-extended tools.
  • Windows loads FIXED code segments into the conventional memory in the MS-DOS session for the debugger to use.

The Windows Build Errors help file recommends that you perform the following steps when you receive one of the error messages listed above:
  • Increase the size of the Windows swap file.
  • Eliminate unnecessary include files.
  • Eliminate some global variables.
  • Divide the source code file into two or more files and compile them separately.
  • Close other programs running on your system. They could be consuming significant amounts of memory.
  • Edit your AUTOEXEC.BAT and CONFIG.SYS files to remove or reconfigure any unnecessary device drivers and terminate-and-stay- resident (TSR) programs. For example, you may need to remove SMARTDrive or configure it to use less memory. If you make any changes, shutdown and reboot your system so the changes take effect.


Additional reference words: kbinf 1.00
KBCategory: kbtool
KBSubcategory: CLIss
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.