BUG: Warning DX4020 with Visual C++ 1.5 When Linking

Last reviewed: July 22, 1997
Article ID: Q111016
1.50 WINDOWS kbtool kbbuglist

The information in this article applies to:

  • Microsoft Visual C++ for Windows, version 1.5

SYMPTOMS

Building a project with Visual C++ results in the following warning:

   DOSXNT : warning DX4020: out of file handles.
      Increase value of FILES= statement in CONFIG.SYS

CAUSE

This warning is generated by the MS-DOS-extender used by the build tools in Visual C++. When these build tools attempt to open a file but MS-DOS has no more file handles to allocate, the error is generated.

RESOLUTION

There are three possible resolutions to this warning:

  • Increase the FILES= statement in your CONFIG.SYS file. This increases the number of file handles that MS-DOS has available, and will allow the build tools to have more files open. You may need to increase this value beyond what you had it set to for Visual C++ 1.0 for Windows.
  • Set the TNT environment variable in your AUTOEXEC.BAT of MS-DOS command line as follows:

          SET TNT=-nopspgrow
    
  • Ignore the warning if it's issued while linking. This is just a notification from the MS-DOS-extender and can be safely ignored while linking because the linker actually expects to run out of file handles and recovers correctly. A valid executable will be built.

STATUS

Microsoft has confirmed this to be a problem in Visual C++ for Windows version 1.5. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

While processing files, LINK tries to keep open as many as possible of the files it's linking. Depending on the size of your project, this may end up using more file handles than you have available. Under Visual C++ 1.0 for Windows, no warning is issued so you never realize this is happening.


Additional reference words: 1.50 5.60 6.11
KBCategory: kbtool kbbuglist
KBSubcategory: TlsMisc
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 22, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.