英語フランス語スペイン語

Ad


OnWorksファビコン

clang-3.5 - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターを介して、OnWorks の無料ホスティング プロバイダーで clang-3.5 を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなど、複数の無料オンライン ワークステーションのいずれかを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド clang-3.5 です。

プログラム:

NAME


clang - Clang C、C++、および Objective-C コンパイラ

SYNOPSIS


打ち鳴らします [-c|-S|-E] -std =標準 -g
[-O0|-O1|-O2|-O3|-オーファスト|-オス|-オズ|-O|-O4]
-W警告..。 -衒学者
-Iディレクトリ... -Lディレクトリ...
-Dマクロ[=定義]
-f機能オプション...
-m機械オプション...
-o 出力ファイル
-stdlib =ライブラリ
入力ファイル名

DESCRIPTION


打ち鳴らします C、C++、Objective-C コンパイラであり、前処理、解析、
最適化、コード生成、アセンブリ、およびリンク。 どの高レベルモードに応じて
設定が渡されると、Clang は完全なリンクを行う前に停止します。 Clangは非常に
統合されているため、コンパイルの段階を理解し、どのようにコンパイルするかを理解することが重要です。
それを呼び出します。 これらの段階は次のとおりです。

ドライバ
  打ち鳴らします 実行可能ファイルは、実際には実行全体を制御する小さなドライバーです
コンパイラ、アセンブラ、リンカなどの他のツールの。 通常は必要ありません
ドライバーと対話しますが、他のツールを実行するために透過的に使用します。

前処理
このステージでは、入力ソース ファイルのトークン化、マクロ展開、#include を処理します。
他のプリプロセッサ ディレクティブの展開と処理。 このステージのアウトプットは
通常、".i" (C の場合)、".ii" (C++ の場合)、".mi" (Objective-C の場合)、または ".mii" と呼ばれます。
(Objective-C++ 用) ファイル。

解析 & セマンティック 分析
このステージでは、入力ファイルを解析し、プリプロセッサ トークンを解析ツリーに変換します。
パーサー ツリーの形式になると、セマンティック分析を適用して型を計算します。
式も同様に検証し、コードが適切に形成されているかどうかを判断します。 このステージは
ほとんどのコンパイラ警告と解析エラーの生成を担当します。 の
この段階の出力は、「抽象構文ツリー」(AST) です。

Code 世代 & 最適化
この段階では、AST を低レベルの中間コード (「LLVM IR」として知られている) に変換し、
最終的に機械語に。 このフェーズは、生成された
コードとターゲット固有のコード生成の処理。 このステージのアウトプットは
通常、「.s」ファイルまたは「アセンブリ」ファイルと呼ばれます。

Clang は統合アセンブラの使用もサポートしており、コード ジェネレータは
オブジェクトファイルを直接生成します。 これにより、「.s」ファイルを生成するオーバーヘッドが回避されます
ターゲットアセンブラの呼び出し。

アセンブラ
この段階では、ターゲット アセンブラを実行して、コンパイラの出力を
ターゲット オブジェクト ファイル。 この段階の出力は通常、「.o」ファイルまたは
「オブジェクト」ファイル。

リンクス
この段階では、ターゲット リンカーを実行して、複数のオブジェクト ファイルを実行可能ファイルまたはファイルにマージします。
動的ライブラリ。 この段階の出力は、通常、「a.out」、「.dylib」、または
「.so」ファイル。

Clang コンパイラは、これらの各段階を制御する多数のオプションをサポートしています。 の
コードのコンパイルに加えて、Clang は他のツールもサポートしています。

クラン 静的 アナライザ

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

OPTIONS


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

-fsyntaxのみ
プリプロセッサ、パーサー、および型チェックのステージを実行します。

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

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

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

言語設定 選択 & モード オプション
-x 言語
後続の入力ファイルをタイプを持つものとして扱う 言語.

-標準=言語
コンパイルする言語標準を指定します。

-stdlib=ライブラリ
使用する C++ 標準ライブラリを指定します。 サポートされているオプションは libstdc++ と libc++ です。

-アンシ
と同じ -std = c89.

-オブジェクトC++
ソース入力ファイルを Objective-C++ 入力として扱います。

-オブジェクト
ソース入力ファイルを Objective-C 入力として扱います。

-三重音字
トリーグラフを有効にします。

-自立
ホストされたものではなく、独立したものとしてファイルをコンパイルする必要があることを示します。
環境。

-fno-builtin
strlen や strlen などの組み込み関数の特別な処理と最適化を無効にする
malloc。

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

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

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

-fmsc-version =
_MSC_VER を設定します。 Windows のデフォルトは 1300 です。 それ以外は設定しません。

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

-fwritable-strings
すべての文字列リテラルをデフォルトで書き込み可能にします。 これにより、文字列の一意化が無効になり、
その他の最適化。

-亜麻-ベクトル-変換
暗黙的なベクトル変換に対して緩やかな型チェック規則を許可します。

-fblocks
「ブロック」言語機能を有効にします。

-fobjc-gc-のみ
Objective-C コードを GC のみのモードでコンパイルする必要があることを示します。
Objective-C ガベージ コレクションが有効になっている場合。

-fobjc-gc
Objective-C コードをハイブリッド GC モードでコンパイルする必要があることを示します。
GC モードと非 GC モードの両方。

-fobjc-abi-バージョン=バージョン
使用する Objective-C ABI バージョンを選択します。 利用可能なバージョンは 1 (レガシー「壊れやすい」
ABI)、2 (非脆弱 ABI 1)、および 3 (非脆弱 ABI 2)。

-fobjc-nonfragile-abi-version=バージョン
デフォルトで使用する Objective-C の脆弱でない ABI バージョンを選択します。 これだけになります
脆弱でない ABI が有効になっている場合に、Objective-C ABI として使用されます (
-fobjc-nonfragile-abi、またはプラットフォームのデフォルトであるため)。

-fobjc-nonfragile-abi
Objective-C の脆弱でない ABI の使用を有効にします。 これが
デフォルトの ABI であり、無効にすることができます -fno-objc-nonfragile-abi.

ターゲット 選択 オプション
Clang は、その設計の本質的な部分としてクロス コンパイルを完全にサポートします。 応じて
Clang のバージョンがどのように構成されているか
コンパイラ、またはネイティブ ターゲットのみをサポートする場合があります。

-アーチ 建築
ビルドするアーキテクチャを指定します。

-mmacosx-バージョン-分=バージョン
Mac OS X 用にビルドする場合は、アプリケーションでサポートされている最小バージョンを指定してください。

-miphoneos-バージョン-分
iPhone OS 用にビルドする場合は、デバイスでサポートされている最小バージョンを指定してください。
アプリケーション。

-行進=CPU
Clang が特定のプロセッサ ファミリ メンバー用のコードを生成するように指定し、
後で。 たとえば、-march=i486 を指定すると、コンパイラは
i486 以降のプロセッサでは有効ですが、iXNUMX 以降のプロセッサでは存在しない可能性がある命令
以前のもの。

Code 世代 オプション
-O0 -O1 -O2 -O3 -オーファスト -オス -オズ -O -O4
使用する最適化レベルを指定します。

-O0 「最適化なし」を意味します。このレベルでは、コンパイルが最も速く、生成量が最も多くなります。
デバッグ可能なコード。

-O1 間のどこか -O0 & -O2.

-O2 ほとんどの最適化を可能にする中程度の最適化レベル。

-O3 いいね -O2ただし、実行に時間がかかる最適化または
より大きなコードを生成する可能性があります (プログラムをより高速に実行するため)。

-オーファスト
からのすべての最適化を有効にします。 -O3 他の積極的な最適化とともに
言語標準への厳格な準拠に違反する可能性があります。

-オス いいね -O2 コードサイズを削減するために追加の最適化を行います。

-オズ いいね -オス (したがって -O2)、コードサイズをさらに削減します。

-O に相当 -O2.

-O4 以上
現在は同等 -O3

-g デバッグ情報を生成します。 Clang のデバッグ情報は、 -O0.

-fstandalone-デバッグ -fno-スタンドアロン-デバッグ
Clang は、デバッグ情報のサイズを削減するための多くの最適化をサポートしています。
バイナリ。 これらは、デバッグ タイプ情報が
複数のコンパイル単位に分散します。 たとえば、Clang はタイプを発行しません。
モジュールが必要としない型の定義であり、
前方宣言。 さらに、Clang は動的 C++ クラスの型情報のみを出力します。
クラスの vtable を含むモジュール内。

  -fstandalone-デバッグ オプションは、これらの最適化をオフにします。 これは、次の場合に役立ちます。
デバッグ情報が付属していないサードパーティ ライブラリを使用する。 これは
ダーウィンのデフォルト。 Clang は、型の型情報を出力しないことに注意してください。
プログラムからはまったく参照されません。

-例外
アンワインド情報の生成を有効にします。これにより、例外をスローできます
Clang でコンパイルされたスタック フレーム。 これは、x86-64 ではデ​​フォルトでオンになっています。

-ftrapv
整数オーバーフロー エラーをキャッチするコードを生成します。 符号付き整数のオーバーフローは定義されていません
C では、このフラグを使用すると、これを検出して中止する追加のコードが生成されます。
起こる

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

-fcommon
このフラグは、初期化子のない変数が共通リンケージを取得することを指定します。 かもね
で無効に -fno-common.

-ftls-モデル
スレッド ローカル変数に使用するデフォルトのスレッド ローカル ストレージ (TLS) モデルを設定します。
有効な値は、「global-dynamic」、「local-dynamic」、「initial-exec」、および「local-exec」です。
デフォルトは「グローバル動的」です。 デフォルトのモデルは、
tls_model 属性。 次の場合、コンパイラはより効率的なモデルを選択しようとします。
可能。

-flto -発行-llvm
リンク時の最適化に適した LLVM 形式で出力ファイルを生成します。 使用時
  -S これにより、LLVM 中間言語アセンブリ ファイルが生成されます。
LLVM ビットコード形式のオブジェクト ファイルを生成します (リンカーに渡すことができます)。
ステージ選択オプションに応じて)。

ドライバ オプション
-###
このコンパイルで実行するコマンドを出力します (実行はしません)。

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

-Qunused-引数
未使用のドライバー引数に対して警告を発しません。

-わ、引数
コンマ区切りの引数を渡します 引数 アセンブラに。

-Wl、引数
コンマ区切りの引数を渡します 引数 リンカーに。

-Wp、引数
コンマ区切りの引数を渡します 引数 プリプロセッサに。

- ザナライザー argは
合格 argは 静的アナライザーに。

-Xアセンブラー argは
合格 argは アセンブラに。

-Xリンカー argは
合格 argは リンカーに。

-Xプリプロセッサ argは
合格 argは プリプロセッサに。

-o file
出力をに書き込む file.

-印刷ファイル名=file
の完全なライブラリ パスを出力します。 file.

-print-libgcc-ファイル名
「libgcc.a」のライブラリ パスを出力します。

-印刷プログラム名=
の完全なプログラム パスを出力します。 .

-印刷検索ディレクトリ
ライブラリとプログラムの検索に使用されるパスを出力します。

-一時保存
中間コンパイル結果を保存します。

-統合-as -非統合-as
統合アセンブラの使用をそれぞれ有効化および無効化するために使用されます。 どうにか
統合アセンブラはデフォルトでオンになっており、ターゲットに依存します。

-時間
個々のコマンドの時間。

-ftime-レポート
コンパイルの各段階のタイミングの概要を出力します。

-v 詳細出力を実行して使用するコマンドを表示します。

診断法 オプション
-fshow-列 -fshow-ソースの場所 -fcaret-診断 -fdiagnostics-fixit-info
-fdiagnostics-parseable-fixits -fdiagnostics-print-source-range-info
-fprint-ソース範囲情報 -fdiagnostics-show-オプション -fメッセージの長さ
これらのオプションは、Clang が診断に関する情報を出力する方法を制御します (エラーおよび
警告)。 詳細については、Clang ユーザー マニュアルを参照してください。

プリプロセッサ オプション
-Dマクロ名=値
ソースの前に読み取られる predefines バッファーに暗黙的な #define を追加します。
ファイルは前処理されます。

-Uマクロ名
ソースの前に読み取られる predefines バッファーに暗黙的な #undef を追加します。
ファイルは前処理されます。

-含める ファイル名
ソースの前に読み取られる predefines バッファーに暗黙の #include を追加します。
ファイルは前処理されます。

-Iディレクトリにジョブを開始します。
指定したディレクトリをインクルード ファイルの検索パスに追加します。

-Fディレクトリにジョブを開始します。
指定したディレクトリをフレームワーク インクルード ファイルの検索パスに追加します。

-ノストディンク
標準のシステム ディレクトリまたはコンパイラの組み込みディレクトリを検索しないでください。
インクルードファイル。

-nostdlibinc
インクルード ファイルの標準システム ディレクトリを検索しないでください。
コンパイラ組み込みのインクルード ディレクトリ。

-nobuiltininc
インクルード ファイルについては、clang の組み込みディレクトリを検索しないでください。

ENVIRONMENT


TMPDIR, TEMP, TMP
これらの環境変数は、一時的に書き込む場所について順番にチェックされます
コンパイルプロセス中に使用されるファイル。

CPATH
この環境変数が存在する場合、パスの区切りリストとして扱われます
デフォルトのシステム インクルード パス リストに追加されます。 区切り文字はプラットフォームです
で使用される従属区切り文字 パス 環境変数。

環境変数の空のコンポーネントは無視されます。

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

MACOSX_DEPLOYMENT_TARGET
-mmacosx-version-min が指定されていない場合、デフォルトのデプロイメント ターゲットは
この環境変数。 このオプションは、darwin ターゲットにのみ影響します。

onworks.net サービスを使用してオンラインで clang-3.5 を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad