## Name

CC — C Compiler

## Synopsis

`cc` [options] `file`... [options]

## Description

The are two commands which invoke distinct versions of the compiler. cc1 is for OS-9 Level I which uses a two pass compiler, and, cc2 is for Level II which causes a single pass version. Both versions of the compiler works identically, the main difference is that cc1 has been divided into two passes to fit the smaller memory size of OS-9 Level I systems. In the following text, “cc” refers to either cc1 or cc2 as appropiate for your system.

## Options

Recognized options: (UPPER and lower case is equivalent)

-a | Suppress assembly. Leave output in “.a” file.
-e=n | Edition number (n) is supplied to c.prep for inclusion in module psect and/or to c.link for inclusion as the edition number of the linked module.
-o | Inhibits assembly code optimizer pass.
-p | Invoke compiler function profiler.
-r | Suppress link step. Leave output in “.r” file.
-m=`size` | Size in pages (in kbytes if followed by a K) of additional memory the linker should allocate to object module.
-l=`path` | Library file for linker to search before the standard library.
-f=`path` | Override other output naming. Module name (in object module) is the last name in the pathlist. -f is not allowed with -a or -r.
-c | Output comments in assembly language code.
-s | Suppress generation of stack-checking code.
-d`NAME` | Is equivalent to #define `NAME` 1 in the preprocessor. -d`NAME`=`STRING` is equivalent to #define `NAME` `STRING`.
-n=`name` | output module name. `name` is used to override the -f default output name.

CC1 only:

-x | Create, but do not execute c.com command file.

CC2 only:

-q | Quiet mode. Suppress echo of file names.