qp.hlp (Topic list)
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.