C ユーザーズガイド |
目次
 製品名の変更について
 はじめに
1.  C コンパイラの紹介
- 準拠規格
- 日本語化について
- コンパイラの構成
- C 関連のプログラミングツール
2.  cc コンパイラオプション
- オプションの構文
- オプションの一覧
- cc オプション
- -#
- -###
- -A<名前>[(<トークン>)]
- -B[static|dynamic]
- -C
- -c
- -D<名前>[=<トークン>]
- -d[y|n]
- -dalign
- -E
- -erroff=t
- -errtags=a
- -errwarn=t
- -fast
- -fd
- -flags
- -fnonstd
- -fns[={no,yes}]
- -fprecision=p
- -fround=r
- -fsimple[=n]
- -fsingle
- -fstore
- -ftrap=t
- -G
- -g
- -H
- -h<名前>
- -I<ディレクトリ>
- -i
- -KPIC
- -Kpic
- -keeptmp
- -L<ディレクトリ>
- -l<名前>
- -mc
- -misalign
- -misalign2
- -mr
- -mr,<文字列>
- -mt
- -native
- -nofstore
- -noqueue
- -O
- -o <出力ファイル>
- -P
- -p
- -Q[y|n]
- -qp
- -R<ディレクトリ>[:<ディレクトリ>]
- -S
- -s
- -U<名前>
- -V
- -v
- -Wc,<引数>
- -w
- -X[a|c|s|t]
- -x386
- -x486
- -xa
- -xarch=isa
- -xautopar
- -xCC
- -xcache=c
- -xcg[89|92]
- -xchar_byte_order=o
- -xchip=c
- -xcode=v
- -xcrossfile[=n]
- -xdepend
- -xe
- -xexplicitpar
- -xF
- -xhelp=f
- -xildoff
- -xildon
- -xinline=[{%auto,<関数>,no%<関数>}[,{%auto,<関数>,no%<関数>}]...]
- -xlibmieee
- -xlibmil
- -xlic_lib=sunperf
- -xlicinfo
- -xloopinfo
- -xM
- -xM1
- -xMerge
- -xmaxopt=off, 1, 2, 3, 4, 5
- -xmemalign=ab
- -xnolib
- -xnolibmil
- -xO[1|2|3|4|5]
- -xP
- -xparallel
- -xpentium
- -xpg
- -xprefetch[=<値>],<値>
- -xprofile=p
- -xreduction
- -xregs=r
- -xrestrict=f
- -xs
- -xsafe=mem
- -xsb
- -xsbfast
- -xsfpconst
- -xspace
- -xstrconst
- -xtarget=t
- -xtemp=<ディレクトリ>
- -xtime
- -xtransition
- -xunroll=n
- -xvector[={yes|no}
- -xvpara
- -Yc,<ディレクトリ>
- -YA,<ディレクトリ>
- -YI,<ディレクトリ>
- -YP,<ディレクトリ>
- -YS,<ディレクトリ>
- -Zll
- -Zlp
- リンカーに渡されるオプション
3.  Sun ANSI/ISO C コンパイラに固有の情報
- 環境変数
- TMPDIR
- SUNPRO_SB_INIT_FILE_NAME
- PARALLEL
- SUNW_MP_THR_IDLE
- 大域動作: 値保存と符号なし保存
- キーワード
- asm
- _Restrict
- long long データ型
- long long データ型の入出力
- 通常の算術変換
- 定数
- 整数定数
- 文字定数
- インクルードファイル
- 非標準浮動小数点
- 前処理指令と名前
- 表明 (assertion)
- プラグマ
- #define を使った引数リストの変更
- 事前定義済みのデータ
- 事前定義済みの名前
4.  Sun ANSI/ISO C コードの並列化
- 概要
- 使用例
- 環境変数
- データの依存性と干渉
- 並列実行モデル
- 固有スカラーと固有配列
- ストアバック変数の使用
- 縮約変数の使用
- 処理速度の向上
- アムダールの法則
- 負荷バランスとループのスケジューリング
- 静的 (チャンク) スケジューリング
- セルフスケジューリング
- ガイド付きセルフスケジューリング
- ループの変換
- ループの分散
- ループの融合
- ループの交換
- 別名と並列化
- 配列およびポインタの参照
- 制限付きポインタ
- 明示的な並列化およびプラグマ
- コンパイラオプション
5.  インクリメンタルリンカー (ild)
- インクリメンタルリンカーとは
- インクリメンタルリンク処理の概要
- ild の使用法
- ild の動作
- ild の制限事項
- 完全再リンクが行われる場合
- ild 先送りリンクメッセージ
- ild 再リンクメッセージ
- 例 1: 内部空き領域の不足
- 例 2: strip の実行
- 例 3: ild のバージョン
- 例 4: 変更されたファイルが多い
- 例 5: 新たな完全再リンク
- 例 6: 新たな作業用ディレクトリ
- ild オプション
- -a
- -B dynamic | static
- -d y|n
- -e epsym
- -g
- -I <名前>
- -i
- -L<パス>
- -lx
- -m
- -o <出力ファイル>
- -Q y|n
- -R<パス>
- -s
- -t
- -u <シンボル名>
- -V
- -xildoff
- -xildon
- -YP,<ディレクトリのリスト>
- -z allextract|defaultextract|weakextract
- -z defs
- -z i_dryrun
- -z i_full
- -z i_noincr
- -z i_quiet
- -z i_verbose
- -z nodefs
- コンパイラから ild に渡されるオプション
- -a
- -m
- -t
- -e epsym
- -I <名前>
- -u <シンボル名>
- 環境変数
- 注意事項
- ild で使用できない ld オプション
- -B symbolic
- -b
- -G
- -h <名前>
- -z muldefs
- -z text
- サポートされないその他のコマンド
- -D <トークン>,<トークン>, ...
- -F <名前>
- -M <マップファイル>
- -r
- ild で使用するファイル
6.  lint ソースコード検査プログラム
- 基本 lint と拡張 lint
- 使用方法
- lint のオプション
- -#
- -###
- -a
- -b
- -C<ファイル名>
- -c
- -dirout=<ディレクトリ>
- -err=warn
- -errchk=l(, l)
- -errchk=locfmtchk
- -errfmt=f
- -errhdr=h
- -erroff=<タグ>(,<タグ>)
- -errtags=a
- -errwarn=t
- -F
- -fd
- -flagsrc=<ファイル>
- -h
- -I<ディレクトリ>
- -k
- -L<ディレクトリ>
- -lx
- -m
- -Ncheck=c
- -Nlevel=n
- -n
- -ox
- -p
- -R<ファイル>
- -s
- -u
- -V
- -v
- -W<ファイル>
- -x
- -XCC=a
- -Xarch=v9
- -Xexplicitpar=a
- -Xkeeptmp=a
- -Xtemp=<ディレクトリ>
- -Xtime=a
- -Xtransition=a
- -y
- lint のメッセージ
- メッセージを抑制するオプション
- lint メッセージの形式
- lint の指令
- 事前定義された値
- 指令
- lint の参考情報と例
- lint が行う検査
- lint ライブラリ
- lint フィルタ
7.  ANSI/ISO C への移行
- 基本モード
- -Xa
- -Xc
- -Xs
- -Xt
- 古い形式の関数と新しい形式の関数の併用
- 新しいコードを書く
- 既存のコードを更新する
- 併用に関する考慮点
- 可変引数を持つ関数
- 拡張: 符号なし保存と値の保持
- 背景
- コンパイルの動作
- 例 1: キャストの使用
- ビットフィールド
- 例 2: 同じ結果
- 整数定数
- 例 3: 整数定数
- トークン化と前処理
- ANSI/ISO C の翻訳段階
- 古い C の翻訳段階
- 論理的なソース行
- マクロ置換
- 文字列の使用
- トークンの連結
- const と volatile
- 右辺値 (lvalue) 専用の型
- 派生型の型修飾子
- const は readonly を意味する
- const の使用例
- volatile は文字通りの解釈を意味する
- volatile の使用例
- 複数バイト文字とワイド文字
- アジア言語は複数バイト文字を必要とする
- 符号化の種類
- ワイド文字
- 変換関数
- C 言語の機能
- 標準ヘッダーと予約名
- 調整の経緯
- 標準ヘッダー
- 実装で使用される予約名
- 拡張用の予約名
- 安全に使用できる名前
- 国際化
- ロケール
- setlocale() 関数
- 変更された関数
- 新しい関数
- 式のグループ化と評価
- 定義
- K&R C の再配置ライセンス
- ANSI/ISO C の規則
- 括弧
- as if 規則
- 不完全な型
- 型
- 不完全な型を完全にする
- 宣言
- 式
- 正当性
- 例
- 互換型と複合型
- 複数の宣言
- 分割コンパイル間の互換性
- 単一のコンパイルでの互換性
- 互換ポインタ型
- 互換配列型
- 互換関数型
- 特別な場合
- 複合型
8.  アプリケーションの変換
- データ型モデルの相違点
- 単一ソースコードの実現
- 派生型
- ツール
- LP64 データ型モデルへの変換
- 整数とポインタのサイズの変更
- 整数とロング整数のサイズの変更
- 符号の拡張
- アドレス演算の代わりのポインタ演算
- 構造体
- 共用体
- 型定数
- 暗黙の宣言に対する注意
- sizeof() は unsigned long
- 型変換で意図を明確にする
- 書式文字列の変換操作を検査する
- その他の注意事項
- サイズが大きくなった派生型
- 変更の副作用の検査
- long のリテラル使用の合理性の確認
- 明示的な 32 ビットと 64 ビットプロトタイプに対する #ifdef の使用
- 呼び出し規則の変更
- アルゴリズムの変更
- 変換前の確認事項
9.  cscope: 対話的な C プログラムの検査
- cscope プロセス
- 基本的な使用方法
- ステップ 1:環境設定
- ステップ 2:cscope プログラムの起動
- ステップ 3:コード位置の確定
- ステップ 4:コードの編集
- コマンド行オプション
- ビューパス (Viewpath)
- cscope とエディタ呼び出しのスタック
- cscope の使用例
- エディタのコマンド行構文
- 不明な端末タイプのエラー
A.  ANSI C データ表現
- 記憶装置の割り当て
- データ表現
- 整数表現
- 浮動小数点表現
- 極値表現
- 重要な数の 16 進数表現
- ポインタ表現
- 配列の格納
- 極値の算術演算
- 引数を渡す仕組み
B.  処理系定義の動作
- ANSI/ISO 規格との実装の比較
- 翻訳 (G.3.1)
- 環境 (G.3.2)
- 識別子 (G.3.3)
- 文字 (G.3.4)
- 整数 (G.3.5)
- 浮動小数点 (G.3.6)
- 配列とポインタ (G.3.7)
- レジスタ (G.3.8)
- 構造体、共用体、列挙型、およびビットフィールド (G.3.9)
- 修飾子 (G.3.10)
- 宣言子 (G.3.11)
- 文 (G.3.12)
- プリプロセッサ指令 (G.3.13)
- ライブラリ関数 (G.3.14)
- ロケール固有の動作 (G.4)
C.  パフォーマンスチューニング (SPARC)
- 制限
- libfast.a ライブラリ
D.  K&R Sun C と Sun ANSI/ISO C の違い
- K&R Sun C と Sun ANSI/ISO C との間の非互換性
- Sun C と ANSI/ISO C における -Xs オプションの相違点
- キーワード
 索引
サン・マイクロシステムズ株式会社 Copyright information. All rights reserved. |
ホーム | 目次 | 前ページへ | 次ページへ | 索引 |