Annotation of researchv10dc/man/adm/man1/cc.1, revision 1.1

1.1     ! root        1: .TH CC 1
        !             2: .CT 1 prog_c
        !             3: .SH NAME
        !             4: cc, lcc \- C compilers
        !             5: .SH SYNOPSIS
        !             6: .B cc
        !             7: [
        !             8: .I option ...
        !             9: ]
        !            10: .I file ...
        !            11: .PP
        !            12: .B lcc
        !            13: [
        !            14: .I option ...
        !            15: ]
        !            16: .I file ...
        !            17: .SH DESCRIPTION
        !            18: .I Cc
        !            19: compiles the classic C language;
        !            20: .I lcc
        !            21: compiles
        !            22: .SM ANSI.
        !            23: They are otherwise similar.
        !            24: In the absence of options, any named source
        !            25: .I files
        !            26: are compiled into object files and then linked,
        !            27: together with any named object
        !            28: .I files,
        !            29: into a single executable file named 
        !            30: .FR a.out .
        !            31: Compilation normally has four phases: preprocessing of
        !            32: .B #
        !            33: directives, compilation to assembly language, assembly,
        !            34: and linking.
        !            35: Suffixes of
        !            36: .I file
        !            37: names determine which phases they participate in:
        !            38: .TP
        !            39: .B .c
        !            40: C source to be preprocessed and compiled.
        !            41: Object code for this file is finally placed in a
        !            42: correspondingly named
        !            43: .L .o
        !            44: file, except when exactly one file is being compiled and linked.
        !            45: .TP
        !            46: .B .i
        !            47: C source to be compiled without preprocessing;
        !            48: .B #
        !            49: directives are ignored by
        !            50: .I cc,
        !            51: forbidden by
        !            52: .I lcc.
        !            53: .TP
        !            54: .B .s
        !            55: Assembler source to be assembled, producing a
        !            56: .L .o
        !            57: file.
        !            58: .TP
        !            59: .B .o
        !            60: A preexisting object file to be linked.
        !            61: .PP
        !            62: Both compilers accept options of
        !            63: .IR ld (1),
        !            64: the most common of which are
        !            65: .B -o
        !            66: (to substitute a name for
        !            67: .BR a.out )
        !            68: and
        !            69: .BR -l 
        !            70: (to link from a library), and in addition
        !            71: .TP
        !            72: .B -c
        !            73: Suppress the linking phase, producing
        !            74: .B .o
        !            75: files but no
        !            76: .BR a.out .
        !            77: .TP
        !            78: .B -g
        !            79: Produce additional symbol table information
        !            80: for debuggers such as
        !            81: .IR pi (9.1).
        !            82: .TP
        !            83: .B -O
        !            84: Invoke an
        !            85: object-code improver; superfluous in
        !            86: .I lcc.
        !            87: .TP
        !            88: .B -w
        !            89: Suppress warning diagnostics.
        !            90: In
        !            91: .I lcc,
        !            92: .B #pragma ref
        !            93: .I variable
        !            94: supplies a dummy reference to suppress
        !            95: an unused-variable diagnostic.
        !            96: .TP
        !            97: .B -p
        !            98: Arrange for the compiler to produce code
        !            99: which counts the number of times each routine is called;
        !           100: also, if linking takes place, replace the standard startup
        !           101: routine by one which arranges to gather profiling data
        !           102: for later examination by
        !           103: .IR  prof (1).
        !           104: .TP
        !           105: .B -pg
        !           106: Like
        !           107: .B -p
        !           108: but for
        !           109: .IR gprof 
        !           110: instead of
        !           111: .IR prof (1).
        !           112: .TP
        !           113: .B -S
        !           114: Compile the named C programs, and leave the
        !           115: assembler-language output in
        !           116: .B .s
        !           117: files.
        !           118: .TP
        !           119: .B -E
        !           120: Run the preprocessor
        !           121: on the named C programs, and send the result to the
        !           122: standard output.
        !           123: .TP
        !           124: .B -C
        !           125: Prevent the preprocessor from eliding comments.
        !           126: .TP
        !           127: .BI -D\*S name=def
        !           128: .br
        !           129: .ns
        !           130: .TP
        !           131: .BI -D \*Sname
        !           132: Define the
        !           133: .I name
        !           134: to the preprocessor,
        !           135: as if by
        !           136: .LR #define .
        !           137: If no definition is given, the name is defined as
        !           138: .LR 1 .
        !           139: .I Lcc
        !           140: predefines a few symbols on most machines; option
        !           141: .B -v
        !           142: exposes them.
        !           143: .TP
        !           144: .BI -U \*Sname
        !           145: Remove any initial definition of
        !           146: .IR name .
        !           147: .TP
        !           148: .BI -I \*Sdir
        !           149: .L #include
        !           150: files whose names do not begin with 
        !           151: .L /
        !           152: are always
        !           153: sought first in the directory 
        !           154: of the
        !           155: .I file
        !           156: argument,
        !           157: then in directories named in 
        !           158: .B -I
        !           159: options,
        !           160: then in directories on a standard list.
        !           161: .PP
        !           162: These options are peculiar to
        !           163: .IR cc :
        !           164: .TP
        !           165: .B -P
        !           166: Run the preprocessor on each 
        !           167: .L .c
        !           168: file.
        !           169: Produce no line numbers.
        !           170: Place results in
        !           171: .L .i
        !           172: files.
        !           173: .TP
        !           174: .B -R
        !           175: Cause
        !           176: .IR as (1)
        !           177: to make initialized variables shared and read-only.
        !           178: .TP
        !           179: .BI -B \*Sstring
        !           180: Find substitute compiler passes in the files named
        !           181: .I string
        !           182: with the suffixes cpp, ccom and c2.
        !           183: If 
        !           184: .I string 
        !           185: is empty, use a standard backup version.
        !           186: .TP
        !           187: .BR -t [ p012 ]
        !           188: Find only the designated compiler passes in the
        !           189: files whose names are constructed by a
        !           190: .B -B
        !           191: option.
        !           192: In the absence of a
        !           193: .B -B 
        !           194: option, the
        !           195: .I string
        !           196: is taken to be
        !           197: .FR /usr/c/ .
        !           198: .PP
        !           199: These options are peculiar to
        !           200: .IR lcc :
        !           201: .TP
        !           202: .B \-N
        !           203: Do not search standard directories for include files.
        !           204: Omit non-ANSI language extensions.
        !           205: .TP
        !           206: .B \-A
        !           207: Warn about calls to functions without prototypes.
        !           208: .TP
        !           209: .BI \-d n
        !           210: Generate jump tables for switches with density at least
        !           211: .IR n ,
        !           212: a floating-point constant between zero and one,
        !           213: 0.5 by default.
        !           214: .TP 
        !           215: .B \-P
        !           216: Write declarations for all defined globals on standard error.
        !           217: .TP
        !           218: .B \-n
        !           219: Produce code
        !           220: that reports and aborts upon dereferencing a zero pointer.
        !           221: .TP
        !           222: .B \-M
        !           223: Run only the preprocessor to generate 
        !           224: .IR make (1)
        !           225: dependencies on the standard output.
        !           226: .TP
        !           227: .B \-T
        !           228: Allow
        !           229: .SM ANSI
        !           230: standard trigraph sequences.
        !           231: .TP
        !           232: .BI \-B str
        !           233: Use the compiler
        !           234: .IB str rcc
        !           235: instead of the default version.
        !           236: .I Str
        !           237: usually ends with a slash.
        !           238: .TP
        !           239: .B \-v
        !           240: Report compiler steps (and some version numbers) as
        !           241: they are executed.
        !           242: A second
        !           243: .B \-v
        !           244: causes steps to be reported but not executed.
        !           245: .PP
        !           246: .I Lcc
        !           247: supports
        !           248: .BI asm( string ).
        !           249: The given string constant is copied to the generated
        !           250: assembly language output with occurrences of
        !           251: .BI % name
        !           252: replaced by the address or register for identifier 
        !           253: .I name 
        !           254: if it is visible.
        !           255: Otherwise,
        !           256: .BI % name
        !           257: is simply copied to the output.
        !           258: Wide-character literals are treated as plain char literals;
        !           259: ints and long ints are the same size,
        !           260: as are doubles and long doubles.
        !           261: .SH EXAMPLES
        !           262: .TP
        !           263: .L
        !           264: lcc -N -I/usr/include/libc file.c 
        !           265: Use local include files instead of
        !           266: .SM ANSI
        !           267: standard ones, which lack most functions of Section 2
        !           268: of this manual, and often disagree (especially about
        !           269: .BR const )
        !           270: with those in Section 3.
        !           271: See
        !           272: .IR intro (3).
        !           273: .SH FILES
        !           274: .PP
        !           275: Different machines use different file names, so this list is
        !           276: only representative.
        !           277: .I Lcc
        !           278: option
        !           279: .B -v
        !           280: exposes the correct names.
        !           281: .TF /usr/include/libc
        !           282: .TP
        !           283: .F a.out
        !           284: linked output
        !           285: .TP
        !           286: .F /tmp/ctm*
        !           287: temporary
        !           288: .TP
        !           289: .F /lib/cpp
        !           290: preprocessor,
        !           291: .IR cpp (8)
        !           292: .TP
        !           293: .F /usr/lib/gcc-cpp
        !           294: .SM ANSI
        !           295: preprocessor
        !           296: .TP
        !           297: .F /lib/ccom
        !           298: .I cc
        !           299: compiler proper
        !           300: .TP
        !           301: .F /lib/c2
        !           302: optional optimizer for
        !           303: .I cc
        !           304: .TP
        !           305: .F /bin/as
        !           306: assembler,
        !           307: .IR as (1)
        !           308: .TP
        !           309: .F /usr/lib/rcc
        !           310: .I lcc
        !           311: compiler proper
        !           312: .TP
        !           313: .F /lib/crt0.o
        !           314: runtime startoff
        !           315: .TP
        !           316: .F /lib/mcrt0.o
        !           317: startoff for profiling
        !           318: .TP
        !           319: .F /lib/libc.a
        !           320: standard library, see
        !           321: .IR intro (3)
        !           322: .TP
        !           323: .F /usr/include
        !           324: directory for 
        !           325: .I cc
        !           326: .L #include
        !           327: files
        !           328: .TP
        !           329: .F /usr/include/lcc
        !           330: directory for 
        !           331: .SM ANSI
        !           332: standard 
        !           333: .L #include
        !           334: files
        !           335: .TP
        !           336: .F /usr/include/libc
        !           337: directory for local
        !           338: .I lcc
        !           339: include files
        !           340: .SH "SEE ALSO"
        !           341: .IR lint (1), 
        !           342: .IR ld (1), 
        !           343: .IR strip (1),
        !           344: .IR nm (1),
        !           345: .IR prof (1), 
        !           346: .IR cin (1),
        !           347: .IR adb (1), 
        !           348: .IR pi (9.1),
        !           349: .IR c++ (1)
        !           350: .br
        !           351: B. W. Kernighan and D. M. Ritchie,
        !           352: .I The C Programming Language,
        !           353: 2nd Ed., Prentice-Hall, 1988
        !           354: .SH BUGS
        !           355: .I Cc
        !           356: cannot handle the
        !           357: .L -y
        !           358: flag of
        !           359: .I ld.
        !           360: .br
        !           361: .I Lcc
        !           362: currently uses the pre-ANSI library.
        !           363: .SH MACHINE DEPENDENCIES
        !           364: .SS VAX
        !           365: .B -pg
        !           366: is unimplemented.
        !           367: .br
        !           368: .I Cc
        !           369: and
        !           370: .I lcc
        !           371: use incompatible bit-field layouts and structure return conventions.
        !           372: .SS MIPS
        !           373: .I Lcc
        !           374: does not implement
        !           375: .B -p
        !           376: or
        !           377: .BR -pg ,
        !           378: and its
        !           379: .B -g
        !           380: supports breakpoints but not the examination of variables.
        !           381: .br
        !           382: .I Cc
        !           383: and
        !           384: .I lcc
        !           385: use incompatible bit-field layouts.
        !           386: .SS Sun
        !           387: .I Lcc
        !           388: options
        !           389: .B -Bdynamic
        !           390: and
        !           391: .B -Bstatic
        !           392: give the binding strategy; see
        !           393: .IR ld (1).
        !           394: .br
        !           395: .I Cc and
        !           396: .I lcc
        !           397: use incompatible bit-field layouts and structure return conventions.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.