FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | 解説 | オプション | 環境変数 | バグ | 関連項目 | 作者 | COPYRIGHT
CLANG(1)                             Clang                            CLANG(1)



名称
       clang - Clang C、C++ と Objective-C コンパイラ

書式
       clang [options] filename ...

解説
       clang は、前処理、構文解析、最適化、コード生成、アセンブリとリンクを含
       む、C、C++ と Objective-C コンパイラです。どのハイレベルのモード設定が
       渡されるかによって、Clang は、完全なリンクを行う前に、停止します。Clang
       は、高度に統合されていますが、それを呼び出す方法を理解するために、コン
       パイルのステージを理解することは重要です。これらのステージは、次の通り
       です:

       ドライバ
              clang 実行形式は、コンパイラ、アセンブラとリンカのような、他の
              ツールの総合的な実行を制御する実際に小さなドライバです。通常、利
              用者は、ドライバと情報をやりとりする必要はありませんが、他のツー
              ルを実行するためにそれを透過的に使用します。

       前処理 このステージは、入力ソースファイルのトークン化、マクロ展開、
              #include 展開と他のプリプロセッサ指示の取り扱いを操作します。こ
              のステージの出力は、通常、(C のための) ".i"、(C++ のための)
              ".ii"、(Objective-C のための) ".mi" または (Objective-C++ のため
              の) ".mii" ファイルと呼ばれます。

       構文解析とセマンティック解析
              このステージは、プリプロセッサのトークンを解析ツリーに変換して、
              入力ファイルを解析します。解析ツリーの形式で一度、同様に、式のた
              めのタイプを計算するために意味解析に適用し、コードがよく形成され
              るかどうかを決定します。このステージは、解析エラーと同様にコンパ
              イラの警告のほとんどを生成することに責任があります。このステージ
              の出力は、"抽象構文ツリー" (Abstract Syntax Tree; AST) です。

       コード生成と最適化
              このステージは、AST を ("LLVM IR" として知られている) 低レベルの
              中間コードに変換し、最後にマシンコードに変換します。このフェーズ
              は、生成されたコードを最適化し、ターゲット特有のコード生成を操作
              することに責任があります。このステージの出力は、通常 ".s" ファイ
              ル、または "アセンブリ" ファイルと呼ばれます。

              また、Clang は、コード生成プログラムが直接オブジェクトファイルを
              生成する、統合アセンブラの使用をサポートします。これは、".s"
              ファイルを生成して、ターゲットアセンブラを呼び出すオーバヘッドを
              避けます。

       アセンブラ
              このステージは、コンパイラの出力をターゲットのオブジェクトファイ
              ルに変換するためにターゲットアセンブラを実行します。このステージ
              の出力は、通常 ".o" ファイル、または "オブジェクト" ファイルと呼
              ばれます。

       リンカ このステージは、複数のオブジェクトファイルを実行形式またはダイナ
              ミックライブラリにマージするためにターゲットのリンカを実行しま
              す。このステージの出力は、通常 "a.out"、".dylib" または ".so"
              ファイルと呼ばれます。

       Clang 静的解析

       clang 静的解析 (Clang Static Analyzer) は、コード解析を通してバグを見つ
       けようと試みるためにソースコードをスキャンするツールです。このツール
       は、Clang の多くの部分を使用して、同じドライバに組み込まれます。静的な
       アナライザを使用する方法に関する詳細については、
       <http://clang-analyzer.llvm.org> を参照してください。

オプション
   ステージ選択オプション
       -E     プリプロセッサのステージを実行します。

       -fsyntax-only
              プリプロセッサ、構文解析とタイプチェックのステージを実行します。

       -S     LLVM 生成と最適化のステージとターゲット特有のコード生成、アセン
              ブリファイルの生成と同様に前のステージを実行します。

       -c     上記のすべてとターゲット ".o" オブジェクトファイルを生成するアセ
              ンブラを実行します。

       ステージ選択オプションなし
              ステージ選択オプションが指定されないなら、上記のすべてのステージ
              が実行され、リンカは、結果を実行形式または共有ライブラリに結合す
              るために実行されます。

   言語選択とモードオプション
       -x <language>
              タイプ language があるものとして、その後の入力ファイルを扱いま
              す。

       -std=<standard>
              コンパイルする言語の標準を指定します。

              C 言語のためにサポートされた値は、次の通りです:
                 c89
                 c90
                 iso9899:1990

                     ISO C 1990
                 iso9899:199409

                     改訂 1 がある ISO C 1990
                 gnu89
                 gnu90

                     GNU 拡張がある ISO C 1990
                 c99
                 iso9899:1999

                     ISO C 1999
                 gnu99

                     GNU 拡張がある ISO C 1999
                 c11
                 iso9899:2011

                     ISO C 2011
                 gnu11

                     GNU 拡張がある ISO C 2011
                 c17
                 iso9899:2017

                     ISO C 2017
                 gnu17

                     GNU 拡張がある ISO C 2017

              デフォルト C 言語標準は、PS4 を除いて、gnu11 です、ここで、それ
              は、gnu99 です。

              C++ 言語のためにサポートされた値は、次の通りです:
                 c++98
                 c++03

                     改訂がある ISO C++ 1998
                 gnu++98
                 gnu++03

                     改訂と GNU 拡張がある ISO C++ 1998
                 c++11

                     改訂がある ISO C++ 2011
                 gnu++11

                     改訂と GNU 拡張がある ISO C++ 2011
                 c++14

                     改訂がある ISO C++ 2014
                 gnu++14

                     改訂と GNU 拡張がある ISO C++ 2014
                 c++17

                     改訂がある ISO C++ 2017
                 gnu++17

                     改訂と GNU 拡張がある ISO C++ 2017
                 c++2a

                     ISO C++ 2020 のための作業ドラフト
                 gnu++2a

                     GNU 拡張がある ISO C++ 2020 のための作業ドラフト

              デフォルトの C++ 言語標準は、gnu++14 です。

              OpenCL 言語のためにサポートされた値は、次の通りです:
                 cl1.0

                     OpenCL 1.0
                 cl1.1

                     OpenCL 1.1
                 cl1.2

                     OpenCL 1.2
                 cl2.0

                     OpenCL 2.0

              デフォルトの OpenCL 言語標準は、cl1.0 です。

              CUDA 言語のためにサポートされた値は、次の通りです:
                 cuda

                     NVIDIA CUDA(tm)

       -stdlib=<library>
              使用する C++ の標準ライブラリを指定します。サポートされるオプ
              ションは、libstdc++ と libc++ です。指定されないなら、プラット
              フォームのデフォルトが、使用されます。

       -rtlib=<library>
              使用するコンパイラの実行時ライブラリを指定します。サポートされる
              オプションは、libgcc と compiler-rt です。指定されないなら、プ
              ラットフォームのデフォルトが、使用されます。

       -ansi  -std=c89 と同じです。

       -ObjC, -ObjC++
              それぞれ Objective-C と Object-C++ の入力としてソース入力ファイ
              ルを扱います。

       -trigraphs
              3 つ組表記 (trigraph) を有効にします。

       -ffreestanding
              ホスト環境ではなく、ファイルは、freestanding (独立) のためにコン
              パイルされるべきであることを示します。

       -fno-builtin
              strlen()malloc() のような組み込み関数の特別な取り扱いと最適
              化を無効にします。

       -fmath-errno
              数学関数は、errno を更新するものとして扱われるべきであることを示
              します。

       -fpascal-strings
              "\pfoo" で Pascal スタイルの文字列のサポートを有効にします。

       -fms-extensions
              Microsoft 拡張のサポートを有効にします。

       -fmsc-version=
              _MSC_VER を設定します。Windows で 1300 をデフォルトとします。そ
              うでなければ設定しません。

       -fborland-extensions
              Borland 拡張のサポートを有効にします。

       -fwritable-strings
              すべての文字列のリテラルをデフォルトで書き込み可能にします。これ
              は、文字列と他の最適化の独自化 (uniquing) を無効にします。

       -flax-vector-conversions
              暗黙のベクトルの変換のためのゆるいタイプチェック規則を許可しま
              す。

       -fblocks
              "Blocks" 言語機能を有効にします。

       -fobjc-abi-version=version
              使用する Objective-C ABI バージョンを選択します。利用可能なバー
              ジョンは、1 (古い "fragile" ABI)、2 (non-fragile ABI 1) と 3
              (non-fragile ABI 2) です。

       -fobjc-nonfragile-abi-version=<version>
              デフォルトで使用する Objective-C non-fragile ABI バージョンを選
              択します。これは、non-fragile ABI が有効にされるとき、
              (-fobjc-nonfragile-abi を通して、またはそれがプラットフォームの
              デフォルトであるので)、Objective-C ABI としてのみ使用されます。

       -fobjc-nonfragile-abi, -fno-objc-nonfragile-abi
              Objective-C non-fragile ABI の使用を有効にします。これがデフォル
              トの ABI であるプラットフォームで、-fno-objc-nonfragile-abi で、
              それを、無効にすることができます。

   ターゲット選択オプション
       Clang は、設計の固有の部分としてクロスコンパイルを完全にサポートしてい
       ます。Clang のバージョンがどのように設定されているかによって、多くのク
       ロスコンパイラのサポートがあるか、または固有のターゲットのみをサポート
       します。

       -arch <architecture>
              構築するアーキテクチャを指定します。

       -mmacosx-version-min=<version>
              Mac OS X のための構築のとき、アプリケーションによってサポートさ
              れた最小のバージョンを指定します。

       -miphoneos-version-min
              iPhone OS のための構築のとき、アプリケーションによってサポートさ
              れた最小のバージョンを指定します。

       -march=<cpu>
              Clang が特定のプロセッサのファミリメンバ以降のためのコードを生成
              すべきであることを指定します。例えば、-march=i486 を指定するな
              ら、コンパイラは、i486 以降のプロセッサで有効である命令を生成す
              ることができますが、以前のものに存在しないかもしれません。

   コード生成オプション
       -O0, -O1, -O2, -O3, -Ofast, -Os, -Oz, -Og, -O, -O4
              使用する最適化レベルを指定します:
                 -O0 "最適化なし" を意味します: このレベルは、最も速くコンパイ
                 ルして、最も多くのデバッグ可能なコードを生成します。

                 -O1 -O0-O2 の間のどこか。

                 -O2 ほとんどの最適化を有効にする最適化の適度なレベル。

                 -O3 実行するために時間がかかるか、または (プログラムをより速
                 く実行させる試みで) より大きなコードを生成する最適化を有効す
                 ることを除いて、-O2 に似ています。

                 -Ofast 言語の標準で厳密な順守に違反する、他の積極的な最適化と
                 ともに -O3 からのすべての最適化を有効にします。

                 -Os コードサイズを減少する特別の最適化で -O2 に似ています。

                 -Oz -Os (したがって、-O2) に似ていますが、コードサイズをさら
                 に減少します。

                 -Og -O1 に似ています。将来のバージョンで、このオプションは、
                 デバッグ可能性を改善するために、異なった最適化を無効にするか
                 もしれません。

                 -O -O2 と同等です

                 -O4 とそれ以上
                     現在、-O3 と同等です。

       -g, -gline-tables-only, -gmodules
              デバッグ情報出力を制御します。Clang デバッグ情報が -O0 で最もよ
              く動作することに注意してください。-g 始まる複数のオプションが指
              定されるとき、最後のものが有効です:
                 -g デバッグ情報を生成します。

                 -gline-tables-only 行テーブルデバッグ情報のみを生成します。こ
                 れは、インライン情報で、シンボル化されたバックトレースに対し
                 て許可されますが、変数、それらの位置、またはタイプに関するあ
                 らゆる情報を含みません。

                 -gmodules Clang モジュールで定義されたタイプへの外部参照、ま
                 たはすべてのオブジェクトファイルに冗長なデバッグタイプ情報を
                 出力する代わりにヘッダを事前コンパイルされることを含んでいる
                 デバッグ情報を生成します。このオプションは、Clang モジュール
                 形式を、デバッグ情報とともに Clang モジュールを保持するオブ
                 ジェクトファイルのコンテナに透過的に切り替えます。Clang モ
                 ジュールまたは事前にコンパイルされたヘッダを使用するプログラ
                 ムをコンパイルするとき、このオプションは、より速いコンパイル
                 時間とより小さなオブジェクトファイルで完全なデバッグ情報を生
                 成します。

                 このオプションは、デバッグ情報が、ライブラリのオブジェクト
                 ファイルが構築されたマシンのモジュールキャッシュへの参照を含
                 むので、他のマシンへの配布のために静的なライブラリを構築する
                 とき、使用されるべきではありません。

       -fstandalone-debug -fno-standalone-debug
              Clang は、バイナリのデバッグ情報のサイズを減少するための最適化の
              数をサポートしています。それらは、複数のコンパイル単位を越えてデ
              バッグタイプ情報を展開することができるという仮定に基づいて動作し
              ます。例えば、Clang は、モジュールによって必要ではなく、前の宣言
              で置き換えれるタイプのためのタイプ定義を出力しません。さらに、
              Clang は、クラスのための vtable を含んでいるモジュールの動的な
              C++ クラスのためのタイプ情報のみを出力します。

              -fstandalone-debug オプションは、これらの最適化をオフにします。
              これは、デバッグ情報とともにではなく、第 3 者のライブラリで動作
              するとき、役に立ちます。これは、Darwin のデフォルトです。Clang
              は、プログラムによって全く参照されないタイプのためのタイプ情報を
              決して出力しないことに注意してください。

       -fexceptions
              unwind 情報の生成を有効にします。これによって、例外処理は、ス
              タックフレームをコンパイルした Clang を通して投入できます。これ
              は、デフォルトで x86-64 をオンにします。

       -ftrapv
              整数オーバフローのエラーを捕獲するコードを生成します。符号付き整
              数のオーバフローは、C で未定義です。このフラグで、これを検出する
              特別のコードを生成し、それが起こるとき、アボートします。

       -fvisibility
              このフラグは、デフォルトの可視性 (visibility) のレベルを設定しま
              す。

       -fcommon, -fno-common
              このフラグは、初期化子 (initializer) のない変数が共通のリンケー
              ジを取得することを指定します。-fno-common でそれを無効にすること
              ができます。

       -ftls-model=<model>
              スレッドローカル (thread-local) 変数のために使用するデフォルトの
              スレッドローカル記憶域 (TLS) モデルを設定します。有効な値は、次
              の通りです: "global-dynamic", "local-dynamic", "initial-exec" と
              "local-exec"。デフォルトは、"global-dynamic" です。tls_model 属
              性でデフォルトのモデルを上書きすることができます。コンパイラは、
              できるなら、より効率的なモデルを選択しようとします。

       -flto, -flto=full, -flto=thin, -emit-llvm
              リンク時間の最適化に適した、LLVM 形式で出力ファイルを生成しま
              す。-S とともに使用されるとき、これは、LLVM 中間言語アセンブリ
              ファイルを生成し、そうでなければ、これは、(ステージ選択オプショ
              ンに依存するリンカに渡される) LLVM ビットコード形式のオブジェク
              トファイルを生成します。

              -flto のためのデフォルトは、リンカが、最適化のための単一の組み合
              わされたモジュールにそのようなすべてモジュールをマージするところ
              で、LLVM bitcode がモノリシックなリンク時間最適化 (Link Time
              Optimization; LTO) のために適切である、"full" です。"thin" で、
              ThinLTO コンパイルは、代わりに呼び出されます。

   トライバオプション
       -###   このコンパイルのために実行するコマンドを印刷 (表示) します (が、
              実行しません)。

       --help 利用可能なオプションを表示します。

       -Qunused-arguments
              未使用のドライバの引数のためのあらゆる警告を発行しません。

       -Wa,<args>
              args のコンマで区切られた引数をアセンブラに渡します。

       -Wl,<args>
              args のコンマで区切られた引数をリンカに渡します。

       -Wp,<args>
              args のコンマで区切られた引数をプリプロセッサに渡します。

       -Xanalyzer <arg>
              静的な解析プログラムに arg を渡します。

       -Xassembler <arg>
              arg をアセンブラに渡します。

       -Xlinker <arg>
              arg をリンカに渡します。

       -Xpreprocessor <arg>
              arg をプリプロセッサに渡します。

       -o <file>
              出力を file に書き込みます。

       -print-file-name=<file>
              file の完全なライブラリのパスを印刷 (表示) します。

       -print-libgcc-file-name
              現在、使用されるコンパイラ実行時ライブラリ ("libgcc.a" or
              "libclang_rt.builtins.*.a") のためのライブラリパスを印刷 (表示)
              します

       -print-prog-name=<name>
              name の完全なプログラムのパスを印刷 (表示) します。

       -print-search-dirs
              ライブラリとプログラムを見つけるために使用されるパスを印刷 (表
              示) します。

       -save-temps
              中間のコンパイル結果を保存します。

       -save-stats, -save-stats=cwd, -save-stats=obj
              内部のコード生成 (LLVM) 統計をカレントディレクトリ
              (-save-stats/"-save-stats=cwd") または出力ファイル
              ("-save-state=obj") のディレクトリに保存します。

       -integrated-as, -no-integrated-as
              それぞれ、統合アセンブラの使用を、有効、無効にするために使用しま
              す。統合アセンブラがデフォルトでオンであるかどうかは、ターゲット
              に依存します。

       -time  時間の個別コマンド。

       -ftime-report
              コンパイルの各ステージのタイミングの概要を印刷します。

       -v     冗長な出力を実行して、使用するコマンドを表示します。

   診断オプション
       -fshow-column, -fshow-source-location, -fcaret-diagnostics,
       -fdiagnostics-fixit-info, -fdiagnostics-parseable-fixits,
       -fdiagnostics-print-source-range-info, -fprint-source-range-info,
       -fdiagnostics-show-option, -fmessage-length
              これらのオプションは、Clang が診断に関する情報 (エラーと警告) を
              どのように印刷するかを制御します。詳細については、Clang のユーザ
              のマニュアルを参照してください。

   前処理オプション
       -D<macroname>=<value>
              暗黙の #define をソースファイルが前処理される前に読み込まれる事
              前定義 (predefine) バッファに追加します。

       -U<macroname>
              暗黙の #undef をソースファイルが前処理される前に読み込まれる事前
              定義 (predefine) バッファに追加します。

       -include <filename>
              暗黙の #include をソースファイルが前処理される前に読み込まれる事
              前定義 (predefine) バッファに追加します。

       -I<directory>
              指定されたディレクトリをインクルードファイルのための検索パスに追
              加します。

       -F<directory>
              指定されたディレクトリをフレームワークのインクルードファイルのた
              めの検索パスに追加します。

       -nostdinc
              インクルードファイルのための標準のシステムディレクトリ、またはコ
              ンパイラの組み込みディレクトリを検索しません。

       -nostdlibinc
              インクルードファイルのための標準のシステムディレクトリを検索しま
              せんが、コンパイラの組み込みのインクルードディレクトリを検索しま
              す。

       -nobuiltininc
              インクルードファイルのための clang の組み込みディレクトリを検索
              しません。

環境変数
       TMPDIR, TEMP, TMP
              これらの環境変数は、コンパイルプロセスの間に使用される一時ファイ
              ルを書き込むための位置に対して、順番にチェックされます。

       CPATH  この環境変数が存在しているなら、それは、デフォルトのシステムのイ
              ンクルードのパスのリストに追加されるパスの区切られたリストとして
              扱われます。デリミタは、PATH 環境変数で使用されるような、プラッ
              トフォーム依存のデリミタです。

              環境変数の空の構成要素は、無視されます。

       C_INCLUDE_PATH, OBJC_INCLUDE_PATH, CPLUS_INCLUDE_PATH,
       OBJCPLUS_INCLUDE_PATH
              これらの環境変数は、適切な言語を処理するときだけ使用される、
              CPATH のように追加パスを指定します。

       MACOSX_DEPLOYMENT_TARGET
              -mmacosx-version-min が指定されないなら、デフォルトの配備ター
              ゲットは、この環境変数から読み込まれます。Darwin ターゲット。こ
              のオプションは、Darwin ターゲットのみ影響します。

バグ
       バグを報告するには、<http://llvm.org/bugs/> を訪問してください。ほとん
       どのバグ報告は、再生成する情報と共に、(-E オプションを使用する) 前処理
       されたソースファイルとコンパイラの完全な出力を含むべきです。

関連項目
       as(1), ld(1)

作者
       Clang / LLVM Team (<http://clang.llvm.org>) によってメンテナンスされて
       います

COPYRIGHT
       2007-2018, The Clang Team



6                                Apr 11, 2018                         CLANG(1)

Table of Contents

FreeBSD マニュアル検索