.TH FCC 1 .SH NAME fcc \- fast CC-compatible C compiler .SH SYNOPSIS .B fcc [ .B \-c ] [ .B \-O ] [ .B \-v ] [ .B \-vn ] [ \fB\-D\fIname\fR ] [ \fB\-D\fIname\fB=\fIdef\fR ] [ .BI \-I pathname ] [ .B \-w ] [ .B \-o .I outfile ] [ .B \-R ] [ .BI \-U name ] [ .BI -M compiler ] .I sourcefile ... .SH DESCRIPTION .LP .I Fcc is a fast .B C compiler. It translates .B C programs into cc(1)-compatible relocatable object modules, and does so in one pass. Then, if the \fB\-c\fP flag is not given, .I fcc offers the object modules to a link-editor, to create an executable binary. .LP .I Fcc accepts several types of filename arguments. Files with names ending in .B .c are taken to be .B C source programs. They are compiled, and the resulting object module is placed in the current directory. The object module is named after its source file, the suffix .B .o replacing .BR .c in the name of the object. .LP Other arguments refer to loader options, object modules, or object libraries. Unless the .B \-c flag is given, these modules and libraries, together with the results of any specified compilations, are passed (in the order given) to the link-editor to produce an output file named .IR a.out . You can specify a name for the executable by using the .B \-o option. .LP If a single .B C program is compiled and loaded all at once, the object module file is deleted. .SH OPTIONS .LP The \fB\-l\fIlib\fR, \fB\-d\fP, \fB\-n\fP, \fB\-N\fP, \fB\-r\fP, \fB\-s\fP, \fB\-S\fP, \fB\-i\fP, and \fB\-u\fP options are passed to the link-editor program. The \fB\-u\fP option takes an extra argument. .IP \fB\-c\fP .br Suppress the loading phase of the compilation, and force an object module to be produced, even if only one program is compiled. A single object module can be named explicitly using the .B \-o option. .IP \fB\-D\fIname\fR\fB=\fIdef\fR Define a symbol .I name to the preprocessor, as if by "#define". .IP \fB\-D\fIname\fR .br same as \fB\-D\fIname\fB=1\fR. .IP \fB\-I\fIpathname\fR .br Add .I pathname to the list of directories in which to search for .B #include files with filenames not beginning with slash. The compiler first searches for .B #include files in the directory containing .I sourcefile, then in directories in .B \-I options, and finally, in .I /usr/include. .IP "\fB\-o \fIoutput\fR" Name the final output file .I output. .IP \fB\-O\fP .br Use a version of the compiler that is just a bit slower, but produces better code. .IP \fB\-U\fIname\fR .br Remove any initial definition of .I name. .IP \fB\-v\fP .br Verbose. Print the commands as they are executed. .IP \fB\-vn\fP .br Verbose, no execute. Only print the commands, do not execute them. .IP \fB\-w\fP suppress warning messages. .IP \fB\-R\fP .br test for more compatibility with Kernighan & Ritchie C [1]. .IP \fB\-M\fIcompiler\fR .br use \fIcompiler\fR as C-2 compiler instead of the default. .LP Object modules produced by cc(1) and .I fcc can be freely mixed, as long as the link-editor is called through .I fcc. .SH "SEE ALSO" .IP [1] B.W. Kernighan, D. Ritchie, "\fIThe C programming Language\fP", Prentice-Hall Inc., 1978 .IP [2] E.H. Baalbergen, "\fIThe ACK CEM compiler\fP". .IP [3] cc(1) unix manual page. .SH DIAGNOSTICS Diagnostics are intended to be self-explanatory.