Cannot Use Stub Files in Quick Library to Save Memory (77484)






This article was previously published under Q77484

SUMMARY

Microsoft has encountered a number of customers who want to use Basic stub files in Quick libraries in an attempt to decrease the amount of conventional memory required by the QBX.EXE environment. However, using stub files in Quick libraries or QBX.EXE is not supported. You can only use stub files when linking executable .EXE programs.

To decrease overhead in conventional memory, the QBX.EXE environment provides some special switches and options described below (see also the "Getting Started" manual for Basic Professional Development System [PDS] versions 7.0 and 7.1).

This information applies to Microsoft Basic PDS 7.0 and 7.1 for MS-DOS.

Note that QuickBasic versions 4.0, 4.0b, and 4.5 support just two stub files, NOEM.OBJ and NOCOM.OBJ. These files cannot be used to reduce the size of QB.EXE or Quick libraries.

MORE INFORMATION

For more information about using stub files, query on the following words:

basic and stub and file and link

All the routines required to run a Basic program from the QBX.EXE environment are built into the environment itself. This is what allows QBX.EXE to execute statements from the Code window or Immediate window without linking any external libraries or using any Quick libraries. You cannot stub out these routines.

The following methods can be used to gain more conventional memory in QBX.EXE versions 7.0 and 7.1:

  • Start QBX.EXE with the /NOFRILLS option. While this removes some features from the environment, it saves 19K of memory.
  • If expanded memory is available, start QBX.EXE with the /Ea switch. This will allow any fixed-length arrays (non-variable- length string arrays) that are between 512 bytes and 16K to be stored in expanded memory.
  • If expanded memory is available, load source code modules instead of using Quick libraries. Quick libraries are always stored in conventional memory in the QBX.EXE environment. If you instead load the Basic source code for the Quick library routines, they will be stored in expanded memory if they are between 512 bytes and 16K in size. (Note that the size of each subroutine is shown in the View Subs dialog box).
  • Make sure all terminate-and-stay-resident (TSR) programs and device drivers that are not being used are not loaded in DOS conventional memory.

Modification Type: Minor Last Reviewed: 1/9/2003
Keywords: KB77484