|
|
1.1 ! root 1: .\" Copyright (c) 1980 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)cc.1 6.2 (Berkeley) 6/7/85 ! 6: .\" ! 7: .TH CC 1 "June 7, 1985" ! 8: .UC 4 ! 9: .SH NAME ! 10: cc \- C compiler ! 11: .SH SYNOPSIS ! 12: .B cc ! 13: [ option ] ... file ... ! 14: .SH DESCRIPTION ! 15: .I Cc ! 16: is the UNIX C compiler. ! 17: .I Cc ! 18: accepts several types of arguments: ! 19: .PP ! 20: Arguments whose names end with `.c' are taken to be ! 21: C source programs; they are compiled, and ! 22: each object program is left on the file ! 23: whose name is that of the source with `.o' substituted ! 24: for `.c'. ! 25: The `.o' file is normally deleted, however, if a single ! 26: C program is compiled and loaded all at one go. ! 27: .PP ! 28: In the same way, ! 29: arguments whose names end with `.s' are taken to be assembly source programs ! 30: and are assembled, producing a `.o' file. ! 31: .PP ! 32: The following options are interpreted by ! 33: .IR cc . ! 34: See ! 35: .IR ld (1) ! 36: for load-time options. ! 37: .TP 8 ! 38: .B \-c ! 39: Suppress the loading phase of the compilation, and force ! 40: an object file to be produced even if only one program is compiled. ! 41: .TP ! 42: .B \-g ! 43: Have the compiler produce additional symbol table information ! 44: for ! 45: .IR dbx (1). ! 46: Also pass the ! 47: .B \-lg ! 48: flag to ! 49: .IR ld (1). ! 50: .TP ! 51: .B \-go ! 52: Have the compiler produce additional symbol table information ! 53: for the obsolete debugger ! 54: .IR sdb (1). ! 55: Also pass the ! 56: .B \-lg ! 57: flag to ! 58: .IR ld (1). ! 59: .TP ! 60: .B \-w ! 61: Suppress warning diagnostics. ! 62: .TP ! 63: .B \-p ! 64: Arrange for the compiler to produce code ! 65: which counts the number of times each routine is called. ! 66: If loading takes place, replace the standard startup ! 67: routine by one which automatically calls ! 68: .IR monitor (3) ! 69: at the start and arranges to write out a ! 70: .I mon.out ! 71: file at normal termination of execution of the object program. ! 72: An execution profile can then be generated by ! 73: use of ! 74: .IR prof (1). ! 75: .TP ! 76: .B \-pg ! 77: Causes the compiler to produce counting code in the manner of ! 78: .B \-p, ! 79: but invokes a run-time recording mechanism that keeps more ! 80: extensive statistics and produces a ! 81: .I gmon.out ! 82: file at normal termination. ! 83: Also, a profiling library is searched, in lieu of the standard C library. ! 84: An execution profile can then be generated by use of ! 85: .IR gprof (1). ! 86: .TP ! 87: .SM ! 88: .B \-O ! 89: Invoke an ! 90: object-code improver. ! 91: .TP ! 92: .SM ! 93: .B \-R ! 94: Passed on to ! 95: .I as, ! 96: making initialized variables shared and read-only. ! 97: .TP ! 98: .SM ! 99: .B \-S ! 100: Compile the named C programs, and leave the ! 101: assembler-language output on corresponding files suffixed `.s'. ! 102: .TP ! 103: .SM ! 104: .B \-M ! 105: Run only the macro preprocessor ! 106: on the named C programs, ! 107: requesting it to generate Makefile dependencies ! 108: and send the result to the standard output. ! 109: .TP ! 110: .SM ! 111: .B \-E ! 112: Run only the macro preprocessor ! 113: on the named C programs, and send the result to the ! 114: standard output. ! 115: .TP ! 116: .SM ! 117: .B \-C ! 118: prevent the macro preprocessor from eliding comments. ! 119: .TP ! 120: .BI \-o " output" ! 121: Name the final output file ! 122: .IR output . ! 123: If this option is used the file `a.out' will be left undisturbed. ! 124: .TP ! 125: .SM ! 126: .BI \-D name=def ! 127: .br ! 128: .ns ! 129: .TP ! 130: .SM ! 131: .BI \-D \*Sname ! 132: Define the ! 133: .I name ! 134: to the preprocessor, ! 135: as if by ! 136: `#define'. ! 137: If no definition is given, the name is defined as "1". ! 138: .TP ! 139: .SM ! 140: .BI \-U \*Sname ! 141: Remove any initial definition of ! 142: .IR name . ! 143: .TP ! 144: .SM ! 145: .BI \-I \*Sdir ! 146: `#include' files ! 147: whose names do not begin with `/' are always ! 148: sought first in the directory ! 149: of the ! 150: .I file ! 151: argument, ! 152: then in directories named in ! 153: .B \-I ! 154: options, ! 155: then in directories on a standard list. ! 156: .TP ! 157: .SM ! 158: .BI \-L \*Sdir ! 159: Library archives are sought first in ! 160: directories named in ! 161: .B \-L ! 162: options, ! 163: then in directories on a standard list. ! 164: .TP ! 165: .B \-f ! 166: Use an alternate compiler which does not convert expressions involving ! 167: only floats to double. This does not conform to the standard which states ! 168: that all intermediate results should be converted to double but does ! 169: provide a speed improvement for programs which don't require full double ! 170: precision. This option also makes ! 171: .B "register float" ! 172: variables work appropriately. ! 173: .TP ! 174: .SM ! 175: .BI \-B \*Sstring ! 176: Find substitute compiler passes in the files named ! 177: .I string ! 178: with the suffixes cpp, ccom and c2. ! 179: If ! 180: .I string ! 181: is empty, use a standard backup version. ! 182: .TP ! 183: .BR \-t [ p012 ] ! 184: Find only the designated compiler passes in the ! 185: files whose names are constructed by a ! 186: .B \-B ! 187: option. ! 188: In the absence of a ! 189: .B \-B ! 190: option, the ! 191: .I string ! 192: is taken to be `/usr/c/'. ! 193: .PP ! 194: Other arguments ! 195: are taken ! 196: to be either loader option arguments, or C-compatible ! 197: object programs, typically produced by an earlier ! 198: .I cc ! 199: run, ! 200: or perhaps libraries of C-compatible routines. ! 201: These programs, together with the results of any ! 202: compilations specified, are loaded (in the order ! 203: given) to produce an executable program with name ! 204: .B a.out. ! 205: .SH FILES ! 206: .ta \w'/usr/c/occom 'u ! 207: file.c input file ! 208: .br ! 209: file.o object file ! 210: .br ! 211: a.out loaded output ! 212: .br ! 213: /tmp/ctm? temporary ! 214: .br ! 215: /lib/cpp preprocessor ! 216: .br ! 217: /lib/ccom compiler ! 218: .br ! 219: /lib/sccom compiler for single precision floats ! 220: .br ! 221: /usr/c/occom backup compiler ! 222: .br ! 223: /usr/c/ocpp backup preprocessor ! 224: .br ! 225: /lib/c2 optional optimizer ! 226: .br ! 227: /lib/crt0.o runtime startoff ! 228: .br ! 229: /lib/mcrt0.o startoff for profiling ! 230: .br ! 231: /usr/lib/gcrt0.o startoff for gprof-profiling ! 232: .br ! 233: /lib/libc.a standard library, see ! 234: .IR intro (3) ! 235: .br ! 236: /usr/lib/libc_p.a profiling library, see ! 237: .IR intro (3) ! 238: .br ! 239: /usr/include standard directory for `#include' files ! 240: .br ! 241: mon.out file produced for analysis by ! 242: .IR prof (1) ! 243: .br ! 244: gmon.out file produced for analysis by ! 245: .IR gprof (1) ! 246: .SH "SEE ALSO" ! 247: B. W. Kernighan and D. M. Ritchie, ! 248: .I The C Programming Language, ! 249: Prentice-Hall, ! 250: 1978 ! 251: .br ! 252: B. W. Kernighan, ! 253: .I ! 254: Programming in C\(ema tutorial ! 255: .br ! 256: D. M. Ritchie, ! 257: .I ! 258: C Reference Manual ! 259: .br ! 260: monitor(3), prof(1), gprof(1), adb(1), ld(1), dbx(1), as(1) ! 261: .SH DIAGNOSTICS ! 262: The diagnostics produced by C itself are intended to be ! 263: self-explanatory. ! 264: Occasional messages may be produced by the assembler ! 265: or loader. ! 266: .SH BUGS ! 267: The compiler currently ignores advice to put ! 268: \fBchar\fR, \fBunsigned char\fR, ! 269: \fBshort\fR, \fBunsigned short\fR, ! 270: \fBfloat\fR, or \fBdouble\fR ! 271: variables in registers, except as noted above. It previously ! 272: produced poor, and in some cases incorrect, code for such declarations.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.