home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / zip / gnu / gccsrc3.lzh / GCCSRC3 / GCC.HLP < prev    next >
Text File  |  1993-07-23  |  4KB  |  154 lines

  1. 1 GCC
  2.  The GCC command invokes the GNU C compiler.
  3.  
  4.       GCC file-spec
  5.  
  6. 2 Parameters
  7.  
  8.  file-spec
  9.  
  10.      A C source file.  If no input file extension is specified, GNU C 
  11.      assumes .C as the default extension.
  12.  
  13. 2 Qualifiers
  14.  
  15.  GNU C command qualifiers modify the way the compiler handles the
  16.  compiliation.
  17.  
  18.  The following is the list of available qualifiers for GNU C:
  19.  
  20.  
  21.       /CC1_OPTIONS=(option [,option...]])
  22.  
  23.       /DEBUG
  24.  
  25.       /DEFINE=(identifier[=definition][,...])
  26.  
  27.       /INCLUDE_DIRECTORY=(path [,path...]])
  28.  
  29.       /MACHINE_CODE
  30.  
  31.       /OPTIMIZE
  32.  
  33.       /UNDEFINE=(identifier[,identifier,...])
  34.  
  35.       /VERBOSE
  36.  
  37.  
  38. 2 Linking
  39.  
  40.  When linking programs compiled with GNU C, you should include the GNU
  41.  C library before the VAX C library.  For example,
  42.  
  43.   LINK object-file,GNU_CC:[000000]GCCLIB/LIB,SYS$LIBRARY:VAXCRTL/LIB
  44.  
  45.  You can also link your program with the shared VAX C library.  This
  46.  can reduce the size of the .EXE file, as well as make it smaller
  47.  when it's running.  For example,
  48.  
  49.   $ LINK object-file, GNU_CC:[000000]GCCLIB/LIB,SYS$INPUT:/OPTIONS
  50.   SYS$SHARE:VAXCRTL/SHARE
  51.  
  52.  (If you use the second example and type it in by hand, be sure to type
  53.   ^Z after the last carriage return)
  54.  
  55. 2 /DEBUG
  56.  
  57.  /DEBUG includes additional information in the object file output so
  58.  that the program can be debugged with the VAX Symbolic Debugger.
  59.  This qualifier includes very little information, so using the
  60.  debugger is somewhat difficult.
  61.  
  62. 2 /DEFINE=(identifier[=definition][,...])
  63.  
  64.  /DEFINE defines a string or macro ('definition') to be substituted 
  65.  for every occurrence of a given string ('identifier') in a program.
  66.  It is equivalent to the #define preprocessor directive.
  67.  
  68.  All definitions and identifiers are converted to uppercase unless they
  69.  are in quotation marks.
  70.  
  71.  The simple form of the /DEFINE qualifier,
  72.  
  73.  /DEFINE=vms
  74.  
  75.  results in a definition equivalent to the preprocessor directive
  76.  
  77.  #define VMS 1
  78.  
  79.  You must enclose macro definitions in quotation marks, as in this
  80.  example:
  81.  
  82.  /DEFINE="C(x)=((x) & 0xff)"
  83.  
  84.  This definition is the same as the preprocessor definition
  85.  
  86.  #define C(x) ((x) & 0xff)
  87.  
  88.  If more than one /DEFINE is present on the GCC command line, only
  89.  the last /DEFINE is used.
  90.  
  91.  If both /DEFINE and /UNDEFINE are present on a command line, /DEFINE
  92.  is evaluated before /UNDEFINE
  93.  
  94. 2 /INCLUDE_DIRECTORY=(path [,path...])
  95.  
  96.  The /INCLUDE_DIRECTORY qualifier provides additional directories to
  97.  search for user-defined include files.  'path' can be either a 
  98.  logical name or a directory specification.
  99.  
  100.  There are two forms for specifying include files - #include "file-spec"
  101.  and #include <file-spec>.  For the #include "file-spec" form, the search
  102.  order is:
  103.  
  104.  1.  The directory containing the source file.
  105.  
  106.  2.  The directories in the /INCLUDE qualifier (if any).
  107.  
  108.  3.  The directory (or directories) specified in the logical name
  109.      GNU_CC_INCLUDE.
  110.  
  111.  4.  The directory (or directories) specified in the logical name
  112.      SYS$LIBRARY.
  113.  
  114.  For the #include <file-spec> form, the search order is:
  115.  
  116.  1.  The directories specified in the /INCLUDE qualifier (if any).
  117.  
  118.  2.  The directory (or directories) specified in the logical name
  119.      GNU_CC_INCLUDE.
  120.  
  121.  3.  The directory (or directories) specified in the logical name
  122.      SYS$LIBRARY.
  123.  
  124. 2 /MACHINE_CODE
  125.  
  126.  Tells GNU C to output the machine code generated by the compiler.  Note
  127.  that no object file is produced when /MACHINE_CODE is specified.  The
  128.  machine code is output to a file with the same name as the input file,
  129.  with the extension .S.
  130.  
  131. 2 /OPTIMIZE
  132.     /NOOPTIMIZE
  133.  
  134.  Controls whether optimization is performed by the compiler.  By default,
  135.  optimization is on.  /NOOPTIMIZE turns optimization off.
  136.  
  137. 2 /UNDEFINE
  138.  
  139.  /UNDEFINE cancels a macro definition.  Thus, it is the same as the
  140.  #undef preprocessor directive.
  141.  
  142.  If more than one /UNDEFINE is present on the GCC command line, only
  143.  the last /UNDEFINE is used.
  144.  
  145.  If both /DEFINE and /UNDEFINE are present on a command line, /DEFINE
  146.  is evaluated before /UNDEFINE
  147.  
  148. 2 /VERBOSE
  149.  
  150.  Controls whether the user sees the invocation command strings for the
  151.  preprocessor, compiler, and assembler.  The compiler also outputs
  152.  some statistics on time spent in its various phases.
  153.  
  154.