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.
Compiler Command (7 of 7)
Use the Compiler command to set options for compiling.
Compiler Directives
■ Align Data aligns constants and variables at word
boundaries. The command has no effect when used
with 8088 CPUs, but results in faster program
execution on 80186/286/386 processors.
■ Debug Information generates code that contains
debugging information necessary to set breakpoints
and watch values, and to single-step and trace
through a QuickPascal source. You should disable the
option in final versions for smaller, faster code.
Compiler Directives (continued)
■ Far Calls determines which call model will be used
for functions and procedures. If the option is
enabled, QuickPascal uses the FAR model. The FAR
model is required for interrupt procedures and
functions or procedures that assign to procedure-type
variables. If the option is disabled, the NEAR model
is used.
■ I/O Checking enables code that checks the status of
an input/output routine. If an error results, the
program will terminate and a run-time error message
will be displayed. If the option is disabled, you
must check for I/O errors with the IOResult function.
Compiler Directives (continued)
■ Numeric Processing generates 80x87-specific code for
all floating-point calculations. Programs with
80x87-specific code only run on computers with
80x87 coprocessors. If Numeric Processing is
disabled, a coprocessor is used if one is present.
Otherwise, floating-point calculations are
performed with run-time library routines.
■ Range Checking creates code that checks the range of
values used in array indexing, assignments, and
parameter passing. Range Checking is best used while
debugging to detect values that venture out of their
declared range.
Compiler Directives (continued)
Disable Range Checking in your final programs for
smaller, faster code.
■ Var-String Checking controls type checks on strings
passed as variable parameters. When this directive
is enabled, formal and actual parameters must be of
identical string types. When this directive is
disabled, formal and actual string parameters can
have different declared lengths.
■ Generate 286 opcodes is a directive for generating
code that is specific to the 80286 coprocessor.
Compiler Directives (continued)
■ Method-Call Checking is used to ensure that memory
for objects has been allocated before a method is
called. You should enable this option in any program
that uses QuickPascal object-oriented features.
■ Stack Checking checks that the stack has enough space
for the local variables of functions or procedures.
It is best to enable Stack Checking while you are
debugging, to catch stack-overflow errors. You
should disable this directive in final versions of
your program for smaller, faster code.
Compiler Directives (continued)
Memory
■ Stack Size allocates memory for the stack. You must
give it an integer value between 1024 and 65520. The
default value is 16384.
■ Min Heap sets the minimum heap size. You must give it
an integer value between 0 and 655360. The default
value is 0.
■ Max Heap sets the maximum heap size. You must give it
an integer value between Min Heap and 655360. The
default value is 655360.
Defines
Use the Defines text box to create conditional
compilation symbols. Separate multiple symbols
with semicolons. Use the symbols with the
{$IFDEF <symbol>} or {$IFNDEF <symbol>} and
{$ENDIF} directives to conditionally compile code.
Conditional directives are useful for debugging. For
example, insert Writeln statements between
{$IFDEF DEBUG} and {$ENDIF} to show program variables
when a "DEBUG" conditional compilation symbol has
been defined.