home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / c / compile.zip / COMPILE.HLP < prev    next >
Text File  |  1992-08-26  |  18KB  |  434 lines

  1. 'COMPILE.HLP - is the help file for use with QuickCompile. It must reside in
  2.                the same directory as QuickCompile.
  3.  
  4.                Each section of this file is maked as follows:
  5.  
  6.                   A starting mark consisting of "BC." or "LINK."
  7.                   followed by the text for that option from
  8.                   QuickCompile's menu is located on the line above.
  9.  
  10.                   An ending mark,  (chr$(29)) is located on the line
  11.                   below each section.
  12.  
  13.                   This document may be edited by the user to display
  14.                   additional info, but the following should be observed.
  15.                       Do not remove any starting or ending marks.
  16.                       Do not change the text of the Start or End lines.
  17.                       Do not allow any section to become longer than 20 lines.
  18.                       Do not edit the original file, make a copy and edit it.
  19.  
  20. '---------------------------------BC OPTIONS---------------------------------
  21.     BC.EXE Requiring BRUNxx.EXE
  22.     EXE Requiring BRUNxx.EXE
  23.  
  24.         This is the default when you compile within the QB environment.
  25.         However, it has been our experience that most people prefer
  26.         building stand-alone .EXE files. Therefore QuickCompile defaults
  27.         to stand-alone and specifies the /O switch.
  28.  
  29.         Normally, this option is most useful if you are distributing a 
  30.         software package that contains many .EXE files, and want to
  31.         conserve disk space. Also, when chaining programs, BRUNxx.EXE
  32.         operates faster because the library need not be loaded again.
  33.         
  34.         If you choose this option, you must be certain that the end user has
  35.         a copy of the correct BRUNxx.EXE file, or the program will not run.
  36.  
  37.         For optimum program execution speed, you will not want to use the
  38.         EXE Requiring BRUNxx.EXE option. Stand Alone executables are always
  39.         faster, use less memory, and are easier to manage.
  40.         
  41.     BC./t
  42.     /T  Terse Error Display
  43.  
  44.         Causes BC to not display the copyright notice or warning messages
  45.         (if errors are encountered) during compiling.
  46.         
  47.         (/T is a QB Environment default.)
  48.  
  49.         We normally don't recommend using this switch because it's helpful
  50.         to know all you can about possible errors in your program.
  51.         
  52.     BC./d
  53.     /D  Produce Debug Code
  54.  
  55.         Produces debugging code for runtime error checking. Also Enables
  56.         CTRL-BREAK.
  57.  
  58.         This option is useful when developing and debugging a program because
  59.         you may hit CTRL-BREAK at any point in program execution and exit.
  60.         
  61.         QuickBASIC programs do not check for overflow errors when performing
  62.         integer math. /D enables integer math overflow error checking.
  63.         
  64.         When you're not using the /AH switch, compiled QuickBASIC programs do
  65.         not check to see if an array is in bounds or not. If an attempt is
  66.         made to access an array element that is out of bounds, other data
  67.         will be overwritten without warning. Using the /D switch will warn
  68.         when such a condition exists.
  69.  
  70.         However, you should not use the /D switch in the final version of
  71.         your program because it slows execution and adds to the file size.
  72.         
  73.     BC./a
  74.     /A  Disassembled List File
  75.  
  76.         Produces a list file showing each source line disassembled, and
  77.         it's compiler generated assembly language instructions.
  78.         
  79.    BC./zi
  80.    /ZI  CodeView Object Code
  81.  
  82.         Produces an object file of information for use by the MicroSoft
  83.         CodeView debugger that comes with several of their other languages.
  84.  
  85.         You cannot use the LINK /E (exepack) option when compiling with /ZI.
  86.         
  87.    BC./zd
  88.    /ZD  Symbolic Debugger Code
  89.  
  90.         Produces an object file with line numbers that correspond to the
  91.         lines of your source file. Useful for source level debugging with
  92.         MicroSoft's SYMDEB Symbolic Debugger.
  93.  
  94.         You must use the LINK /li (line numbers) option when compiling with
  95.         /ZD.
  96.         
  97.     BC./s
  98.     /S  Quoted Strings to OBJ
  99.  
  100.         Places quoted strings in the object file instead of the symbol
  101.         table. Useful for avoiding "Out of memory" errors in programs
  102.         with many string constants.
  103.  
  104.         This option may also reduce the size of your .EXE file.
  105.         
  106.     BC./r
  107.     /R  Row-Major Order Arrays
  108.  
  109.         Useful when using routines from other languages that store arrays
  110.         in this order. QuickBasic stores it's arrays in column-major order
  111.         normally.
  112.         
  113.    BC./ah
  114.    /AH  $DYNAMIC Arrays > 64k
  115.  
  116.         Allows arrays of Records, fixed-length strings, and numeric data
  117.         to be dynamic. These arrays may use all of available memory.
  118.  
  119.         When not used and arrays are not dimensioned with REDIM, arrays are
  120.         Static and are limited to a maximum of 64k each.
  121.  
  122.         Note that variable-length string arrays are always Static. Only
  123.         fixed-length string arrays may be Dynamic and make use of this option.
  124.         
  125.     BC./c:num
  126.     /C:<number>   Communications Routines
  127.  
  128.         Sets the receive buffer size of the comm ports. Default is 512
  129.         bytes total for both ports. Maximum receive buffer size may be
  130.         set to 32,767 bytes. This option has no effect on the transmit
  131.         buffer which is set to 128 bytes for each port and can't be
  132.         changed.
  133.  
  134.         Note that communications routines may be unnecessarily placed in
  135.         your .EXE file without your knowledge, even if you don't specify
  136.         this switch.
  137.         
  138.         Read the section on NOCOM.OBJ in the "Hints & Kinks
  139.         for Compiling and Linking" Booklet to insure that your programs
  140.         don't waste 4K of disk space with uncalled comm routines.
  141.         
  142.   BC./mbf
  143.   /MBF  MicroSoft Binary Format
  144.  
  145.         Allows your programs to read and write floating point values
  146.         stored in MicroSoft Binary Format.
  147.         
  148.         MKS$, MKD$, CVS, and CVD functions are converted to MKSMBF$,
  149.         MKDMBF$, CVSMBF, and CVDMBF.
  150.         
  151.     BC./x
  152.     /X  ON ERROR/RESUME <NEXT> <0>
  153.  
  154.         Use when your program contains ON ERROR with RESUME, RESUME NEXT,
  155.         or RESUME 0.
  156.  
  157.         Note: Using ON ERROR will slow program execution and cause your
  158.               .EXE file size to noticeably increase.
  159.  
  160.               Avoid using any ON ERROR statements in your program if at
  161.               all possible. Many Shareware and Commercial add-on libraries
  162.               have functions with built in error checking to help avoid
  163.               QuickBASIC's ON ERROR.
  164.  
  165.               One often needed error trap is checking to see if a file
  166.               exists. We have created a Basic module to help you avoid
  167.               using ON ERROR in this case. See the section on EXISTS.BAS
  168.               in the "Hints & Kinks for Compiling and Linking" Booklet
  169.               for details.
  170.         
  171.     BC./e
  172.     /E  ON ERROR/RESUME <LineNumber>
  173.  
  174.         Use when your program contains an ON ERROR with a RESUME statement
  175.         containing a line number.
  176.  
  177.         Note: Using ON ERROR will slow program execution and cause your
  178.               .EXE file size to noticeably increase.
  179.  
  180.               Avoid using any ON ERROR statements in your program if at
  181.               all possible. Many Shareware and Commercial add-on libraries
  182.               have functions with built in error checking to help avoid
  183.               QuickBASIC's ON ERROR.
  184.  
  185.               One often needed error trap is checking to see if a file
  186.               exists. We have created a Basic module to help you avoid
  187.               using ON ERROR in this case. See the section on EXISTS.BAS
  188.               in the "Hints & Kinks for Compiling and Linking" Booklet
  189.               for details.
  190.         
  191.     BC./v
  192.     /V  ON [event] Normal Trap 
  193.  
  194.         Use for event trapping the Comm Port (COM), LightPen (PEN),
  195.         JoyStick (STRIG), Timer (TIMER), Music Buffer (PLAY) and 
  196.         Function Keys (KEY).
  197.         
  198.         Checks between each program statement for an event to occur. This
  199.         will cause events to be recognized earlier, but will slow program
  200.         execution and increase file size because BC must place code to
  201.         check for events between each program statement.
  202.         
  203.  
  204.     BC./w
  205.     /W  ON [event] Fast Trap
  206.  
  207.         Use for event trapping the Comm Port (COM), LightPen (PEN),
  208.         JoyStick (STRIG), Timer (TIMER), Music Buffer (PLAY) and 
  209.         Function Keys (KEY).
  210.         
  211.         Same as /V option, but checks at each program label (or line number)
  212.         for an event to occur.
  213.  
  214.         Checks for events only at labels (or line numbers). Because event
  215.         checking code is only placed at labels, you control where and how
  216.         much event checking is performed.
  217.         
  218.         If it's not absolutely necessary to check between each program
  219.         statement, then /W is the preferred switch for event trapping.
  220.         
  221.     BC.NO [event] Trapping
  222.     NO [event] Trapping
  223.  
  224.         QuickCompile Defaults to No Event Trapping as most programs don't
  225.         use ON [event] statements.
  226.         
  227.     BC.Source List File
  228.     Source List File
  229.  
  230.         This QuickCompile option is used to produce a Source list File
  231.         containing the address of each line in your source file.
  232.         
  233.         All source text, it's size, and any error messages are also
  234.         included in the file.
  235.         
  236.     BC.Delete OBJ Code
  237.     Delete OBJ Code
  238.  
  239.         This QuickCompile option causes the .OBJ file to be deleted after
  240.         Compiling and Linking are complete. This saves time and disk space.
  241.         If your program contains only one module (.BAS file), you should use
  242.         this option.
  243.  
  244.         However, if your program has more than one module, you may not want
  245.         to use this option. When changes are made to only one module of a
  246.         multi-module program, it is only necessary to recompile that one
  247.         module.
  248.  
  249.         When compiling and linking multi-module programs, QuickCompile checks
  250.         to see which modules have changed by comparing the date/time stamp
  251.         of each modules source (.BAS) file and object (.OBJ) file. 
  252.  
  253.         Time and wear and tear on your disk will be saved because only
  254.         modules that have changed will be recompiled by BC. But, if you have
  255.         deleted a module's .OBJ file, it must be recompiled.
  256.         
  257. '--------------------------------LINK OPTIONS--------------------------------
  258.     LINK./e
  259.     /E  EXEPACK (optimized exe size)
  260.  
  261.         Optimizes the load time allocation table by removing sequences of
  262.         repeated bytes (usually null characters). Linking with /E will
  263.         cause .EXE files to be smaller and load faster. This switch is
  264.         a QuickCompile and QB environment default. You will normally want
  265.         to use this option.
  266.  
  267.         NOTE: If you plan to use an executable file compressor (like
  268.               LZEXE or PKLITE), you should not use this switch. These
  269.               utilities will usually perform better on files that were
  270.               not previously packed with EXEPACK.
  271.  
  272.               Exepack cannot be used when compiling a program for
  273.               codeview use (ie: BC's / zi and LINK's /co options).
  274.               QuickCompile senses this and turns off /E by default.
  275.         
  276.   LINK./pau
  277.   /PAU  PAUSE before exe write
  278.  
  279.         Causes LINK to pause and prompt you before writing the .EXE file.
  280.         Useful if you wish to insert another disk to write the .EXE file
  281.         to.
  282.  
  283.         It's doubtful if hard disk users will ever want to use this option.
  284.         
  285.     LINK./i
  286.     /I  Show Link INFORMATION
  287.  
  288.         Causes LINK to display information about the current linking 
  289.         process. Shows the current phase in linking, and the name of
  290.         files being linked.
  291.  
  292.         Although not normally necessary, this switch is helpful for
  293.         better understanding how link works.
  294.         
  295.     LINK./b
  296.     /B  BATCH mode (no prompts)
  297.  
  298.         Causes LINK not to stop and prompt you when it cannot find a
  299.         file you specified. LINK continues to operate without prompting.
  300.  
  301.         The only time this option is useful is when you are linking
  302.         several separate programs in one link session. Because QuickCompile
  303.         does not operate in this fashion, this switch is not helpful.
  304.  
  305.         We advise you avoid this option because you will not be alerted
  306.         to errors.
  307.         
  308.     LINK./m
  309.     /M  Create MAPFILE
  310.  
  311.         Creates a MAPFILE that list the program's segments and public
  312.         symbols sorted by address. See the QuickBASIC, Programming in
  313.         BASIC book for more details.
  314.         
  315.    LINK./li
  316.    /LI  MapFile with LINENUMBERS
  317.  
  318.         Creates a MAPFILE that list the program's segments and public
  319.         symbols sorted by address. See the QuickBASIC, Programming in
  320.         BASIC book for more details.
  321.         
  322.         Same as the /M option, but includes line number and addresses of
  323.         the source file.
  324.  
  325.         This option must be selected when compiling with /zd (SYMDEB).
  326.         
  327.   LINK./noi
  328.   /NOI  NOIGNORECASE (observe case)
  329.  
  330.         Normally, LINK does not distinguish between upper and lower case
  331.         letters. This option cause LINK to observe case.
  332.         
  333.   LINK./nod
  334.   /NOD  NODEFAULTLIBRARY (using PDQ, etc...)
  335.  
  336.         Normally, LINK will always include the BRUN or BCOM libraries
  337.         (which one depends on whether you specify QuickCompile's default
  338.         stand-alone or .EXE file requiring BRUNxx.EXE).
  339.  
  340.         This option tells LINK not to include either. Use this option
  341.         when you are linking with a replacement library like PDQ.
  342.         QuickCompile automatically uses /NOD when you select PDQ.LIB as
  343.         a library to link with. 
  344.  
  345.         This option is also useful if you place the BRUN and BCOM libraries
  346.         in a path that LINK can't find. However, you must first select the
  347.         library within QuickCompile so LINK will know the new path.
  348.  
  349.         We suggest that you place all libraries in the same path and set the
  350.         "LIB" environment variable so that QuickCompile will always know 
  351.         where your libraries are. This will save time and keystrokes. 
  352.         Place the line   "SET LIB=<LibraryPath>"   in your AUTOEXEC.BAT file,
  353.         where <LibraryPath> is the Drive/Directory where libraries are stored.
  354.         
  355.   LINK./noe
  356.   /NOE  NOEXTDICTIONARY (using nocom, etc...)
  357.  
  358.         Causes LINK to search the individual object files instead of the
  359.         dictionaries it has created to resolve certain conflicts.
  360.  
  361.         NOTE: If you link with NOEM.OBJ or NOCOM.OBJ, (or PDQ's stub files)
  362.               you must use this option. In most cases, QuickCompile will
  363.               automatically select this option for you.
  364.  
  365.         We suggest that you place all often used object code in the same
  366.         path and set the "OBJ" environment variable so that QuickCompile
  367.         will always know where these objects are. This will save time and
  368.         unnecessary keystrokes (or mouse clicks).
  369.  
  370.         Place the line   "SET OBJ=<ObjectPath>"   in your AUTOEXEC.BAT file,
  371.         where <ObjectPath> is the Drive/Directory where object files are
  372.         stored. 
  373.         
  374.    LINK./se:num
  375.    /SE:<number>  SEGMENTS
  376.  
  377.         Sets the number of segments that LINK will allow your program to
  378.         have. You may specify any number from 1-1024. Default is 128. See
  379.         the QuickBASIC, Programming in BASIC book for more details.
  380.         
  381.    LINK./co
  382.    /CO  CODEVIEW preparation
  383.  
  384.         Prepares an .EXE file for debugging with MicroSoft's CodeView
  385.         Debugger.
  386.  
  387.         NOTE: The object files must have been previously compiled with the
  388.               /ZI option. 
  389.         
  390.   LINK./far
  391.   /FAR  FAR
  392.  
  393.         Used with the /PAC option to help reduce the size and increase
  394.         the speed of your .EXE files.
  395.  
  396.      WARNING: Although unlikely, circumstances may arise that will
  397.               cause this option to crash your program. If you use
  398.               this option, you should carefully test every function
  399.               of your program.
  400.         
  401.   LINK./pac:num
  402.   /PAC:<number>  PACKCODE
  403.  
  404.         Pack code segments. Causes link to group neighboring segment.
  405.         Code segments that are in the same group will have the same segment
  406.         address. You may specify the size limit of the groups. If not
  407.         specified, the size limit defaults to 65,530. See the QuickBASIC,
  408.         Programming in BASIC book for more details.
  409.  
  410.         NOTE: This option may be used with the /FAR option to optimize
  411.               program execution speed and file size. 
  412.      
  413.      WARNING: Although unlikely, circumstances may arise that will
  414.               cause this option to crash your program. If you use
  415.               this option, you should carefully test every function
  416.               of your program.
  417.         
  418.   LINK./st:num
  419.   /ST:<number>  STACK
  420.         
  421.         This option allows you to specify how much memory to set aside
  422.         for use as the stack.
  423.  
  424.         When a program has deeply nested calls to non-static procedures,
  425.         or a recursive subprogram is called many times, stack space may
  426.         become exhausted. /ST will allow you to set a larger stack size.
  427.  
  428.         The QB default stack size is 2048 bytes. Maximum allowed stack
  429.         size is 65,535 bytes.
  430.         
  431.               
  432.               
  433.  
  434.