view docs/nitros9guide/cc.refentry @ 2322:61fb37b19edd

Edition #3 - for vtio instead of cc3io Willard Goosey
author aaronwolfe
date Mon, 11 Jan 2010 04:20:41 +0000
parents b00cf13c9f61
children
line wrap: on
line source

<refentry id="cc">
<refnamediv>
<refname>CC</refname>
<refpurpose>C Compiler</refpurpose>
</refnamediv>

<refsynopsisdiv>
<cmdsynopsis>
<command>cc</command>
<arg>options</arg>
<arg rep="repeat" choice="plain"><replaceable>file</replaceable></arg>
<arg>options</arg>
</cmdsynopsis>
</refsynopsisdiv>

<refsect1><title>Description</title>
<para>
The are two commands which invoke distinct versions of the
compiler. <command>cc1</command> is for NitrOS-9 Level 1 which uses a two pass compiler,
and, <command>cc2</command> is for Level 2 which causes a single pass version. Both
versions of the compiler works identically, the main difference is
that <command>cc1</command> has been divided into two passes to fit the smaller memory
size of NitrOS-9 Level 1. In the following text, "cc" refers to
either <command>cc1</command> or <command>cc2</command> as appropiate for your system.
</para>
</refsect1>
<refsect1><title>Options</title>
<para>
Recognized options: (UPPER and lower case is equiv.)
</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.9in"/>
<colspec colwidth="3.0in"/>
<tbody>
<row>
    <entry>-a</entry>
    <entry>Suppress assembly. Leave output in ".a" file.</entry>
</row>
<row>
    <entry>-e=n</entry>
    <entry>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.</entry>
</row>
<row>
    <entry>-o</entry>
    <entry>Inhibits assembly code optimizer pass.</entry>
</row>
<row>
    <entry>-p</entry>
    <entry>Invoke compiler function profiler.</entry>
</row>
<row>
    <entry>-r</entry>
    <entry>Suppress link step. Leave output in ".r" file.</entry>
</row>
<row>
    <entry>-m=<replaceable>size</replaceable></entry>
    <entry>Size in pages (in kbytes if followed by a K) of
additional memory the linker should allocate to
object module.</entry>
</row>
<row>
    <entry>-l=<replaceable>path</replaceable></entry>
    <entry>Library file for linker to search before the standard library.</entry>
</row>
<row>
    <entry>-f=<replaceable>path</replaceable></entry>
    <entry>Override other output naming. Module name (in
object module) is the last name in the pathlist.
-f is not allowed with -a or -r.</entry>
</row>
<row>
    <entry>-c</entry>
    <entry>Output comments in assembly language code.</entry>
</row>
<row>
    <entry>-s</entry>
    <entry>Suppress generation of stack-checking code.</entry>
</row>
<row>
    <entry>-d<replaceable>NAME</replaceable></entry>
    <entry>Is equivalent to #define <replaceable>NAME</replaceable> 1 in the
preprocessor. -d<replaceable>NAME</replaceable>=<replaceable>STRING</replaceable>
is equivalent
to #define <replaceable>NAME</replaceable> <replaceable>STRING</replaceable>.</entry>
</row>
<row>
    <entry>-n=<replaceable>name</replaceable></entry>
    <entry>output module name. <replaceable>name</replaceable> is used to override
    the -f default output name.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
CC1 only:
</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.9in"/>
<colspec colwidth="3.0in"/>
<tbody>
<row>
    <entry>-x</entry>
    <entry>Create, but do not execute c.com command file.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
<para>
CC2 only:
</para>
<informaltable frame="none">
<tgroup cols="2">
<colspec colwidth="0.9in"/>
<colspec colwidth="3.0in"/>
<tbody>
<row>
    <entry>-q</entry>
    <entry>Quiet mode. Suppress echo of file names.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
</refentry>