JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris Studio 12.3: C ユーザーガイド     Oracle Solaris Studio 12.3 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  C コンパイラの紹介

2.  C コンパイラ実装に固有の情報

2.1 定数

2.1.1 整数定数

2.1.2 文字定数

2.2 リンカースコープ指示子

2.3 スレッドローカルな記憶領域指示子

2.4 浮動小数点 (非標準モード)

2.5 値としてのラベル

2.6 long long データ型

2.6.1 long long データ型の入出力

2.6.2 通常の算術変換

2.7 Switch 文内の Case 範囲

2.8 表明

2.9 サポートされる属性

2.10 警告とエラー

2.11 プラグマ

2.11.1 align

2.11.2 c99

2.11.3 does_not_read_global_data

2.11.4 does_not_return

2.11.5 does_not_write_global_data

2.11.6 dumpmacros

2.11.7 end_dumpmacros

2.11.8 error_messages

2.11.9 fini

2.11.10 hdrstop

2.11.11 ident

2.11.12 init

2.11.13 inline

2.11.14 int_to_unsigned

2.11.15 must_have_frame

2.11.16 nomemorydepend

2.11.17 no_side_effect

2.11.18 opt

2.11.19 pack

2.11.20 pipeloop

2.11.21 rarely_called

2.11.22 redefine_extname

2.11.23 returns_new_memory

2.11.24 unknown_control_flow

2.11.25 unroll

2.11.26 warn_missing_parameter_info

2.11.27 weak

2.12 事前に定義されている名前

2.13 errno の値の保持

2.14 拡張機能

2.14.1 _Restrict キーワード

2.14.2 _ _asm キーワード

2.14.3 __inline__inline__

2.14.4 __builtin_constant_p()

2.14.5 __FUNCTION____PRETTY_FUNCTION__

2.15 環境変数

2.15.1 PARALLEL

2.15.2 SUN_PROFDATA

2.15.3 SUN_PROFDATA_DIR

2.15.4 TMPDIR

2.16 インクルードファイルを指定する方法

2.16.1 -I- オプションによる検索アルゴリズムの変更

2.16.1.1 警告

2.17 フリースタンディング環境でのコンパイル

2.18 Intel MMX および拡張 x86 プラットフォーム組み込み関数のためのコンパイラサポート

3.  C コードの並列化

4.  lint ソースコード検査プログラム

5.  型に基づく別名解析

6.  ISO C への移行

7.  64 ビット環境に対応するアプリケーションへの変換

8.  cscope: 対話的な C プログラムの検査

A.  機能別コンパイラオプション

B.  C コンパイラオプションリファレンス

C.  ISO/IEC C 99 の処理系定義の動作

D.  C99 の機能

E.  ISO/IEC C90 の処理系定義の動作

F.  ISO C データ表現

G.  パフォーマンスチューニング

H.  Oracle Solaris Studio C: K&R C と ISO C の違い

索引

2.14 拡張機能

C コンパイラは、C 言語に多数の拡張機能を実装しています。

2.14.1 _Restrict キーワード

C コンパイラは、C99 規格の restrict キーワードの同義語として _Restrict キーワードをサポートします。restrict キーワードは、-xc99=all を指定する場合にしか使用できませんが、_Restrict キーワードは、-xc99=none-xc99=all のどちらを指定する場合でも使用できます。

サポートされる C99 機能の詳細は、表 C-6 を参照してください。

2.14.2 _ _asm キーワード

__asm キーワード (先頭の 2 つの下線に注意) は、asm キーワードと同義語です。__asm キーワードではなく asm を使用し、-Xc モードでコンパイルを実行する場合、コンパイラは警告を発行します。-Xc モードで _ _asm を使用する場合、警告メッセージは表示されません。_ _asm 文の書式は次のようになります。

__asm("string");

ここで、string は有効なアセンブリ言語文です。

この文は、与えられたアセンブラテキストをアセンブリファイルに直接出力します。関数スコープではなくファイルスコープで宣言された基本的な asm 文は、「グローバル asm 文」と呼ばれます。ほかのコンパイラはこの文を「トップレベル」asm 文と呼びます。

グローバル asm 文は、指定された順に出力されます。つまり、互いの相対的な順序が維持され、周囲の関数に対する相対位置も維持されます。

より高い最適化レベルでは、参照されていないと判断した関数をコンパイラが削除することがあります。グローバルアセンブリ言語文内からどの関数が参照されているかをコンパイラは評価できないため、間違って削除される可能性があります。

テンプレートとオペランドの仕様を提供する、拡張された asm 文は、グローバルにすることは許可されません。__asm および __asm__ はキーワード asm の同義語であり、互いに入れ替えて使用できます。

アーキテクチャーに固有の命令を指定するときは、対応する -xarch 値を指定してコンパイルエラーを回避する必要がある場合があります。

2.14.3 __inline__inline__

__inline および __inline__ はキーワード inline の同義語であり、互いに入れ替えて使用できます (C 規格、6.4.1 節)。

2.14.4 __builtin_constant_p()

__builtin_constant_p はコンパイラの組み込み関数です。これは単一の数値引数を取り、引数がコンパイル時の定数である場合は 1 を返します。戻り値 0 は、その引数がコンパイル時の定数であるかどうかをコンパイラが判定できないことを意味します。この組み込み関数の標準的な使用法は、マクロ内での手動のコンパイル時最適化です。

2.14.5 __FUNCTION____PRETTY_FUNCTION__

__FUNCTION____PRETTY_FUNCTION__ は事前に定義された識別子であり、字句を包含する関数の名前が含まれています。これらは、c99 の定義済みの識別子である __func__ に相当する機能です。Oracle Solaris プラットフォームでは、__FUNCTION____PRETTY_FUNCTION__ -Xs および -Xc モードで使用できません。