4aa47a3835
Submitted by: Norihiro Kumagai <kuma@nk.rim.or.jp> Reviewed by: OHSAWA Chitoshi <ohsawa@ccn.aitai.ne.jp> Koichi Suzuki <metal@gc5.so-net.ne.jp>
187 lines
5.1 KiB
Groff
187 lines
5.1 KiB
Groff
.\"
|
|
.\" Copyright (c) 1997 Joerg Wunsch
|
|
.\"
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
|
|
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
.\"
|
|
.\" FreeBSD: src/usr.bin/c89/c89.1,v 1.4.2.4 2001/08/02 01:11:13 obrien Exp
|
|
.\" %FreeBSD: src/usr.bin/c99/c99.1,v 1.3 2004/03/04 20:29:27 josef Exp %
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd October 7, 2002
|
|
.Os
|
|
.Dt C99 1
|
|
.Sh 名称
|
|
.Nm c99
|
|
.Nd 標準 C 言語コンパイラ
|
|
.Sh 書式
|
|
.Nm
|
|
.Op Fl cEgs
|
|
.Op Fl D Ar name Ns Op = Ns Ar value
|
|
.Ar ...
|
|
.Op Fl I Ar directory ...
|
|
.Op Fl L Ar directory ...
|
|
.Op Fl o Ar outfile
|
|
.Op Fl O Ar optlevel
|
|
.Op Fl U Ar name ...
|
|
.Ar operand ...
|
|
.Sh 解説
|
|
これは
|
|
.St -p1003.1-2001
|
|
標準にて要求されている、C 言語コンパイラの名称です。
|
|
.Pp
|
|
.Nm
|
|
コンパイラは以下のオプションを受け付けます:
|
|
.Bl -tag -width indent
|
|
.It Fl c
|
|
コンパイル時にリンクエディットフェーズを実行しません。
|
|
生成されたオブジェクトファイルを一切削除しません。
|
|
.It Fl D Ar name Ns Op = Ns Ar value
|
|
C 言語の
|
|
.Ic #define
|
|
ディレクティブ(前処理指令)で指定したかのように名前を定義します。
|
|
.Dq = Ns Ar value
|
|
が与えられない場合、値 1 が使用されます。
|
|
.St -p1003.1-2001
|
|
に指定されているように変換するためには、ソース中または本オプションを使用して
|
|
.Dv _POSIX_C_SOURCE=200112L
|
|
を定義する必要があります。
|
|
.Fl D
|
|
オプションは
|
|
.Fl U
|
|
オプションより低い優先度を持ちます。
|
|
すなわち
|
|
.Ar name
|
|
が
|
|
.Fl U
|
|
と
|
|
.Fl D
|
|
の両方で使用された場合、オプションの順序によらず、
|
|
.Ar name
|
|
は未定義になります。
|
|
.Fl D
|
|
オプションは複数回指定可能です。
|
|
.It Fl E
|
|
全プリプロセッサディレクティブを展開し、
|
|
C 言語ソースファイルを標準出力へコピーします。
|
|
コンパイルは行いません。
|
|
.It Fl g
|
|
オブジェクトや実行ファイル中にシンボル情報を生成します。
|
|
.It Fl I Ar directory
|
|
絶対パス名ではないヘッダを検索するアルゴリズムを、
|
|
通常の場所を検索する前に
|
|
.Ar directory
|
|
で指定されるディレクトリを探すという方法に変更します。
|
|
ダブルクォート
|
|
.Pq Qq
|
|
で括られた名前のヘッダは、
|
|
.Ic #include
|
|
行を指定したファイルのディレクトリ、
|
|
次に
|
|
.Fl I
|
|
オプションで指定したディレクトリ、
|
|
最後に通常の場所で探します。
|
|
アングルブラケット
|
|
.Pq Aq
|
|
で括られた名前のヘッダは、
|
|
.Fl I
|
|
オプションで指定したディレクトリと
|
|
通常の場所のみで探します。
|
|
.Fl I
|
|
オプションで指定したディレクトリは指定した順番で探します。
|
|
.Fl I
|
|
オプションは複数回指定可能です。
|
|
.It Fl L Ar directory
|
|
.Fl l
|
|
で指定されるライブラリを検索するアルゴリズムを、
|
|
通常の場所を検索する前に
|
|
.Ar directory
|
|
で指定されるディレクトリを探すという方法に変更します。
|
|
.Fl L
|
|
オプションで指定したディレクトリは指定した順番で探します。
|
|
.Fl L
|
|
は複数回指定可能です。
|
|
.It Fl o Ar outfile
|
|
パス名
|
|
.Ar outfile
|
|
をデフォルトの
|
|
.Pa a.out
|
|
の代りに使用し、実行可能ファイルを生成します。
|
|
.It Fl O Ar optlevel
|
|
.Ar optlevel
|
|
が 0 の場合、最適化を抑制します。
|
|
そうでない場合、指定したレベルの最適化を有効化します。
|
|
.It Fl s
|
|
オブジェクトや実行ファイルを生成する時、
|
|
実行に不要な、シンボルおよびその他の情報を取り除きます
|
|
(ストリップします)。
|
|
.It Fl U Ar name
|
|
.Ar name
|
|
の初期定義を取り除きます。
|
|
.Fl U
|
|
オプションは複数回指定可能です。
|
|
.El
|
|
.Pp
|
|
オペランドは、パス名、もしくは
|
|
.Fl l
|
|
ライブラリの形式です。
|
|
パス名オペランドが少なくとも一つは指定されなければなりません。
|
|
サポートされているオペランドの形式を以下に示します:
|
|
.Bl -tag -offset indent -width ".Fl l Ar library"
|
|
.It Ar file Ns Pa .c
|
|
C 言語ソースファイルであり、コンパイルされます。
|
|
場合によってはリンクされます。
|
|
.Fl c
|
|
オプション使用時には、オペランドはこの形式でなければなりません。
|
|
.It Ar file Ns Pa .a
|
|
オブジェクトファイルのライブラリであり、
|
|
.Xr ar 1
|
|
によって生成され、直接リンクエディタに渡されます。
|
|
.It Ar file Ns Pa .o
|
|
オブジェクトファイルであり、
|
|
.Nm Fl c
|
|
によって生成され、直接リンクエディタに渡されます。
|
|
.It Fl l Ar library
|
|
.Pa lib Ns Ar library Ns Pa .a
|
|
という名前のライブラリを探します。
|
|
ライブラリの名前が出てきた時点でそのライブラリ内部が検索されるので、
|
|
.Fl l
|
|
オペランドの位置は重要です。
|
|
.El
|
|
.Sh 関連項目
|
|
.Xr ar 1 ,
|
|
.Xr c89 1 ,
|
|
.Xr cc 1
|
|
.Sh 規格
|
|
.Nm
|
|
ユーティリティインタフェースは
|
|
.St -p1003.1-2001
|
|
に適合しています。
|
|
これは
|
|
.Tn GCC
|
|
を包むものですので、
|
|
.Tn GCC
|
|
が実際に実装している
|
|
.Tn C99
|
|
機能に限定されています。
|
|
.Pa http://gcc.gnu.org/gcc-3.3/c99status.html
|
|
を参照してください。
|