Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
BC Command Line
◄Contents► ◄Index► ◄Back►
──────────────────────────────────────────────────────────────────────────────
BC sourcefile [objectfile] [listingfile] [optionlist] [;]
These arguments can be typed on the operating system command line following
the BC command:
Argument Description
sourcefile The name of your BASIC source code file. If USER is
specified, input is taken from the keyboard.
objectfile The name of the object file you are creating.
listingfile The name of the file that will contain an assembly-code
source listing of the compiler-generated code. The file
contains the address of each line in your source file,
the text of the source file, its size, and any error
messages produced during compilation. If USER is specified,
the listing is sent to the screen.
optionlist One or more of the following command-line options:
Option Description
/? Displays compiler syntax and options.
/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 be larger than 64K each. If /Ah is not
specified, the maximum size is 64K per dynamic array.
Be sure to use either /Ah or /D when you are compiling
Quick library routines that will be loaded into QBX with
the /Ea option (which moves arrays into expanded memory).
This is necessary because /Ah and /D cause run-time calls
instead of inline code generation for array references.
/C:buffersize Sets the size of the buffer receiving remote data for each
communications port when using an asynchronous
communications adapter.
/D Generates debugging code for run-time error checking and
enables Ctrl+Break. For ISAM programs, causes BASIC to
write open database buffers to disk after every DELETE,
INSERT, UPDATE, or CLOSE statement.
Be sure to use either /D or /Ah when you are compiling
Quick library routines that will be loaded into QBX with
the /Ea option (which moves arrays into expanded memory).
This is necessary because /D and /Ah cause run-time calls
instead of in-line code generation for array references.
/E Specifies presence of ON ERROR with RESUME linenumber
statements. (See also the discussion of the /X option
in this list.)
/Es Allows you to share expanded memory between BASIC and
mixed-language routine(s) that make use of expanded memory.
Specify /Es when you are going to use a mixed-language
routine that makes use of expanded memory.
/FBr [filename] Generates a file containing restricted 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 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.
/FPa Causes your program to use the alternate-math library for
floating-point operations.
/FPi Causes the compiler to generate in-line instructions for
use in floating-point operations.
/Fs Enables far strings in user programs.
/G2 Enables 80286-specific instructions.
/Help Displays online Help for compiler syntax and options.
/Ib Sets the minimum number of buffers to be used by ISAM. ISAM
defaults to 6 buffers for reduced functionality (PROISAM)
and 9 for full functionality (PROISAMD). The maximum
allowable value is 512.
/Ie Sets the amount of expanded memory, in kilobytes, to
leave for non-ISAM use when you are working with ISAM.
If omitted, all expanded memory (up to about 1.2 megabytes)
is used by ISAM. A value of -1 indicates ISAM should use
no expanded memory.
/Ii Specifies the number of non-NULL ISAM indexes used in a
program. If omitted, the default is 30, which is the
minimum value. The maximum allowable value is 500.
/Lp Creates a protected-mode object file; the default if
running BC from an OS/2 protected-mode session.
/Lr Creates a real-mode object file; the default if running
BC from DOS or an OS/2 real-mode session.
/MBF Allows your BASIC program to read and write floating-point
values stored in Microsoft Binary format. The intrinsic
functions MKS$, MKD$, CVS, and CVD are converted to MKSMBF$,
MKDMBF$, CVSMBF, and CVDMBF, respectively.
/O Substitutes the default stand-alone library for the
default run-time library (creates a stand-alone executable
file that can run without a BASIC run-time module).
/Ot Optimizes execution speed for SUB and FUNCTION procedures,
and DEF FN statements if certain conditions are met. (For
conditions, see the Microsoft BASIC Programmer's Guide).
/R Stores arrays in row-major order. BASIC normally stores
arrays in column-major 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 Suppresses warnings given by the compiler. By default, the
interpreter passes this option to BC when you select Make
EXE File from the environment.
/V Enables event trapping for communications (COM), lightpen
(PEN), joystick (STRIG), timer (TIMER), music buffer
(PLAY), function keys (KEY), OS/2 signal events (SIGNAL),
and user-defined events (UEVENT). Checks between each BASIC
statement for events.
/W Enables event trapping for the same statements as /V, but
checks at each line number or label for occurrence of an
event.
/X Specifies presence of ON ERROR with RESUME, RESUME NEXT, or
RESUME 0.
/Z Produces a listing of compile-time errors in a form readable
by the M editor. If used when compiling within M, /Z allows
you to locate and scroll through errors in your source and
include files by invoking the nxtmsg editor function.
/Zd Produces an object file containing line-number records
for debugging purposes corresponding to the line numbers
of the source file.
/Zi Adds debugging information to the object file that can be
used by the Microsoft CodeView debugger.