BC.EXE Command-Line Options for VB for MS-DOS and Basic PDS (84469)



The information in this article applies to:

  • Microsoft Visual Basic for MS-DOS
  • Microsoft Basic Professional Development System (PDS) for MS-DOS and MS OS/2 7.0
  • Microsoft Basic Professional Development System (PDS) for MS-DOS and MS OS/2 7.1

This article was previously published under Q84469

SUMMARY

This article documents all the BC.EXE command-line options (switches) available in the Standard and Professional Editions of Microsoft Visual Basic for MS-DOS, version 1.0; and Microsoft Basic Professional Development System (PDS) for MS-DOS and MS OS/2, versions 7.0 and 7.1. Some comparisons with earlier versions of BC.EXE are also mentioned.

These BC.EXE command-line options can also be found in the following manuals:

  • Pages 555-562 (Chapter 16) of the "Microsoft Basic 7.0: Programmer's Guide" for versions 7.0 and 7.1
  • Pages 608-610 of the "Microsoft Basic 7.0: Language Reference" (Appendix C: "Command-Line Tools Quick Reference") for 7.0 and 7.1

MORE INFORMATION

Option  Definition
------  ----------

/A      Creates a listing of the disassembled object code for each
        source line and shows the assembly-language code generated by
        the compiler.

/Ah     Allows dynamic arrays of records, fixed-length strings, and
        numeric data to occupy all of available conventional memory.
        If this option is not specified, the maximum size is 64K per
        array. Note that this option has no effect on the way data
        items are passed to procedures. (See also the REM $DYNAMIC
        metacommand.)

/C:<n>  Sets the size (<n> = bytes) of the buffer receiving remote
        data using an asynchronous communications adapter for each
        communications port. (The transmission buffer is allocated 512
        bytes for each communications port and cannot be changed on
        the BC command line.)  This option has no effect if the
        asynchronous communications card is not present. The default
        buffer size is 256 bytes total for BOTH ports; the maximum
        size is 32,767 bytes. The default, /c:512, is automatically
        added when invoking the Make EXE File command from the Run
        menu in QuickBasic 4.0b and 4.5 (not in QuickBasic 4.0).

/D      Generates debugging code for run-time error checking and
        enables CTRL+BREAK. This option is the same as the Produce
        Debug Code option from the Run menu Make EXE File command
        within the environment.

/E      Indicates the presence of ON ERROR with RESUME linenumber
        statements. (See also the discussion of the /x option in this
        list.)

/MBF    Causes the QuickBasic conversion functions to treat
        IEEE-format numbers as Microsoft binary format numbers. The
        intrinsic functions MKS$, MKD$, CVS, and CVD are converted to
        MKSMBF$, MKDMBF$, CVSMBF, and CVDMBF, respectively. See
        the "Microsoft QuickBasic 4.0: Basic Language Reference"
        manual or corresponding Help for more information about these
        functions.

/O      Substitutes the appropriate BCOMxx.LIB stand-alone program
        library for the BRUNxx.LIB run-time module library.

/R      Stores arrays in row-major order. Basic normally stores arrays
        in column-major order. This option is useful if you are using
        other language routines that store arrays in row order.

/S      Writes quoted strings to the object file instead of the symbol
        table. Use this option when an "Out of memory" error message
        occurs in a program that has many string constants.

/T      This option is for terse. It suppresses warning messages
        during compilation. However, severe error messages still are
        displayed. This option is not available in QuickBasic 4.0.
        Also, /t is automatically added to the BC command line in
        QuickBasic 4.0b and 4.5 whenever you choose the Make EXE
        File command from within QB.EXE.

/V      Enables event trapping for communications (COM), light pen
        (PEN), joystick (STRIG), timer (TIMER), music buffer (PLAY),
        and function keys (KEY). Use this option to check between
        statements for an occurrence of an event.

/W      Enables event trapping for the same statements as /v, but
        checks at each line number or label for occurrence of an
        event (thus /w does less-frequent checking than /v).

/X      Indicates presence of ON ERROR with RESUME, RESUME NEXT, or
        RESUME 0.

/Zd     Produces an object file containing line-number records
        corresponding to the line numbers of the source file. This
        option is useful when you want to perform source-level
        debugging using the Microsoft Symbolic Debug Utility (SYMDEB)
        available with Microsoft Macro Assembler version 4.0.

/Zi     Produces an object file containing debugging information used
        by the Microsoft CodeView debugger, available with Microsoft C
        version 5.0, Microsoft Macro Assembler version 5.0, and
        Microsoft Basic Compiler version 6.0.
				
The following BC.EXE options are supported in Microsoft Visual Basic for MS-DOS, version 1.0; in Microsoft Basic Compiler for MS-DOS, versions 6.0, 6.0b; and in Basic PDS for MS-DOS and MS OS/2, versions 7.0 and 7.1, but not in QuickBasic for MS-DOS, versions 4.0, 4.0b, or 4.5:
/Lp     Creates a protected-mode object file for use in MS OS/2
        protected mode, no matter which operating system you are in at
        compile time.

/Lr     Creates a real-mode object file for use in MS-DOS or MS OS/2
        real mode (MS-DOS 3.x box), no matter which operating system you
        are in at compile time.

/FPi    Generates in-line (i) coprocessor instructions for floating
        point (FP) math. If a coprocessor is not present at run time,
        the Basic run-time system will emulate a coprocessor.

/FPa    Generates code using alternate (a) math library, which runs
        faster than emulating a coprocessor when none is present.
				
The following BC.EXE options and features added in Visual Basic for MS-DOS, version 1.0; and Basic PDS for MS-DOS, versions 7.0 and 7.1 are not found in earlier versions:
/Es     Allows you to share expanded memory between Basic and
        mixed-language routines that make use of expanded memory.
        Specify /Es when you are going to use a mixed-language routine
        that makes use of expanded memory.

/Fs     Enables you to store string data in far memory.

/G2     Generates instructions specific to the 80286 processor chip
        that result in smaller, faster executable code.

/Ot     Optimizes the performance of procedure calls.

/Ib:x   Increases the amount of conventional memory reserved for
        ISAM's buffers. The x here represents pagebuffers and defaults
        to 6 for PROISAM and 9 for PROISAMD. Maximum number for x is
        512.

/Ie:x   If you have expanded memory, ISAM will automatically use up to
        1.2 MB of it for its buffers. ISAM takes as much EMS
        memory as possible by default, which increases conventional
        memory as well as improves performance. The x in this case
        represents the amount of EMS memory to reserve.

/Ii:x   Specifies the number of non-NULL indexes used in the program.
        Use this option if your program has more than 30 indexes. The
        x stands for indexes.
				
In Visual Basic for MS-DOS, version 1.0; and Basic PDS for MS-DOS versions 7.0 and 7.1, the MS-DOS INCLUDE environment variable enables you to determine where BC.EXE will look for included files without changing the $INCLUDE metacommand in your source file.

In Visual Basic for MS-DOS, version 1.0; and Basic PDS for MS-DOS and MS OS/2, version 7.1, the following options were added for BC.EXE:
/? or /Help     Displays compiler syntax and options.

/FBr[filename]  Generates a file containing restricted program symbol
                information for use with the Programmer's WorkBench
                (PWB) Source Browser. This information file has the
                name specified by the "filename" argument. If no name
                is specified, it has the same name as the source file
                with an .SBR filename extension. The file contains
                information about the definitions and references to
                all global symbols.

/FBx[filename]  Generates a file containing extended program symbol
                information for use with the Programmer's WorkBench
                Source Browser. This information file has the name
                specified by the "filename" argument. If no name is
                specified, it has the same name as the source file
                with an .SBR filename extension. The file contains
                information about the definitions and references to
                all global and local symbols.

                The information for the /Z option applies to PWB, as
                well as to the M editor.
				
Visual Basic for MS-DOS, version 1.0 maintains the same compiler switches as Basic PDS for MS-DOS, version 7.1 with the following exceptions. The /Lp, /Lr, /FBr, /FBx, and /Fs switches have all been eliminated. The /G3 switch has been added. Listed below is a description of the /G3 switch:
/G3             Generates instructions specific to the 80386
                processor which potentially results in smaller and
                faster executable code.
				

Modification Type:MinorLast Reviewed:8/16/2005
Keywords:KB84469