CC.1
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:5k
源码类别:

操作系统开发

开发平台:

WINDOWS

  1. CC(1)                     Minix Programmer's Manual                      CC(1)
  2. NAME
  3.      cc - C compiler
  4. SYNOPSIS
  5.      cc [-STOUfcimos] [-w[aos]]  [-v[n]]  [-Dname]*  [-Idir]*  [-Ldir]*  file+
  6.      [-lname]*
  7. OPTIONS
  8.      -D   The flag -Dx[=y] defines a macro x with (optional) value y
  9.      -I   -Idir searches dir for include files
  10.      -L   -Ldir searches dir for -lname libraries
  11.      -O   Optimize the code
  12.      -S   Produce an assembly code file, then stop
  13.      -T   The flag -Tdir tells cc and as to use dir for temporary files
  14.      -U   Undefine a macro
  15.      -E   Preprocess to standard output
  16.      -c   Compile only.  Do not link
  17.      -f   Link with floating point emulation library
  18.      -i   Use separate I & D space (64K + 64K) ( only)
  19.      -l   The flag -lname causes the library libname.a to be linked
  20.      -m   Remove unnecessary prototypes after preprocessing ( only)
  21.      -o   Put output on file named by next arg
  22.      -s   Strip the symbol-table from executable file
  23.      -v   Verbose; print pass names
  24.      -vn  Verbose; print pass names but do not run them
  25.      -w   Suppress warning messages
  26.      -ws  Suppress strict messages
  27.      -wa  Suppress all warning and strict messages
  28.                                                                              1
  29. CC(1)                     Minix Programmer's Manual                      CC(1)
  30.      -wo  Suppress messages about old-style
  31.      -.o  Do not link the default run-time start-off
  32. EXAMPLES
  33.      cc -c file.c        # Compile file.c
  34.      cc -DFOO file.c     # Treat the symbol FOO as defined
  35.      cc -wo -o out file.c
  36.                          # Compile old-style code; output to out
  37. DESCRIPTION
  38.      This is the C compiler.  It has eight passes, as follows:
  39.         Program   Input   Output   Operation performed
  40.         lib/ncpp  prog.c  prog.i   C preprocessor: #include, #define, #ifdef
  41.         lib/irrel prog.i  prog.i   Removal of unnecessary prototypes
  42.         lib/ncem  prog.i  prog.k   Parsing and semantic analysis
  43.         lib/nopt  prog.k  prog.m   Optimization of the intermediate code
  44.         lib/ncg   prog.m  prog.s   Code generation
  45.         bin/as    prog.s  prog.o   Assembly
  46.         lib/ld    prog.o  prog.out Linking
  47.         lib/cv    prog.out a.out   Conversion to MINIX a.out format
  48.      In the 68000 versions of MINIX , the preprocessor is not called since the
  49.      front-end contains the preprocessor.  This increases compilation speed.
  50.      The  main  program,  cc  ,  forks  appropriately  to  call  the   passes,
  51.      transmitting  flags  and  arguments.  The -v flag causes the passes to be
  52.      listed as they are called, and the -vn  flag  causes  the  passes  to  be
  53.      listed but not called.
  54.      The libraries should be made with aal (which is the same  as  ar  on  the
  55.      68000  versions),  and  consist of .o files.  The internal order of files
  56.      inside the library is unimportant, but the order in which  the  libraries
  57.      are specified is.
  58.      When -T  is  used,  the  intermediate  files  end  up  in  the  directory
  59.      specified.   Otherwise,  /tmp  is  used.   When  available memory is very
  60.      limited (e.g., a 512K machine), it may  be  necessary  to  run  chmem  to
  61.      reduce the sizes of the compiler passes that do not fit, typically ncem .
  62.      On the other hand, if the compiler (or,  in  fact,  almost  any  program)
  63.      begins  acting  strange,  it  is  almost always due to its running out of
  64.      space, either stack space or scratch file space.  The relevant  pass  can
  65.      be  given more stack space using chmem . More space for scratch files can
  66.      be obtained by removing other files on the device.
  67.                                                                              2
  68. CC(1)                     Minix Programmer's Manual                      CC(1)
  69.      If the compiler runs out of memory, it may be necessary  to  use  the  -m
  70.      flag.   This causes irrel to be run, which removes unnecessary prototypes
  71.      and thus frees  up  extra  table  space  within  the  compiler.   Beware,
  72.      however, that running this pass may cause strictly conforming programs to
  73.      become non-conforming and vice versa, so you should only run this pass as
  74.      a last resort.
  75.      The  compiler  is  derived  from  the  ACK  system  (Tanenbaum  et   al.,
  76.      Communications  of  the  ACM,  Sept.  1983), not from the AT&T portable C
  77.      compiler.  It  has  been  shoehorned  onto  the  PC  with  some  loss  of
  78.      performance.
  79. SEE ALSO
  80.      make(1).
  81.                                                                              3