Clang 拡張 C++ コンパイラのコマンドライン インターフェイス
C++ コンパイラのコマンドライン インターフェイス への移動
Clang 拡張 C++ コンパイラのコマンドライン インターフェイスは、お互いとても似ています。 このトピックでは、それらすべてのコンパイラに当てはまる情報を取り上げます。
目次
Clang 拡張 C++ コンパイラのコマンドライン オプション
Clang 拡張コンパイラは互いに非常に似ており、コマンドライン オプションの大半は共通です。 Clang の機能のサブセットが RAD Studio には統合されており、それらの一部は、[プロジェクト オプション]ダイアログ ボックスで利用可能です。
コマンド ラインでの実行
コマンド ラインで Clang 拡張 C++ コンパイラを呼び出す場合は、以下のように、ドライバを介して行うことをお勧めします。
<compiler> -c test.cpp
または
<compiler> -tWCV myApplication.cpp
この場合、Clang 拡張 C++ コンパイラは、以下のコマンドライン パラメータがデフォルトで有効になった状態で実行されます。
-fborland-extensions
Clang の使用経験が豊富で、ドライバを介さずに Clang 拡張 C++ コンパイラを使用する場合は、最初のオプションとして -cc1
を渡して、処理を手動で行いすべてのオプションを自分で完全/厳密に管理することをコンパイラに明示しなければなりません。 この場合、オプションが自動的に挿入されることはなく、上記のコマンドライン パラメータを手動で指定する必要があります。
エラー通知オプション
スイッチ | 説明 |
---|---|
--warn-common
|
共通シンボルの重複について警告します。 |
--warn-unresolved-symbols
|
未解決のシンボルを警告として通知します。 |
--error-unresolved-symbols
|
未解決のシンボルをエラーとして通知します。 |
#include パスとルックアップ
Clang 拡張 C++ コンパイラでは、以下のような 3 つの異なるヘッダー/ソース パスをサポートしています。
-isystem
は、コンパイラでインクルードされるシステム ヘッダーについてのものです。このパスで見つかったヘッダーの警告は出力されません。-I
はサードパーティから提供されるヘッダーについてのものです。-idirafter
は、-I
または-isystem
で指定されたパスが検索された後で検索されるパスについてのものです。パスの先頭に '=' 文字が付いている場合、この文字は-sysroot
で指定された値に置き換わります。-iquote
はユーザー独自のソース ファイルやヘッダーについてのものです。名前のとおり、このパスは引用符付きの指令(#include "file"
)にのみ使用されます。指定されたfile
が見つからない場合は、あたかも#include <file>
という指令であったかのように、-I
と-isystem
で指定されたパス内でファイルが検索されます。
詳細は、「#include」を参照してください。
Delphi ランタイム システムとのリンク
デフォルトでは、ターゲットを -t
コマンドライン スイッチを使用して指定していない場合、Clang 拡張 C++ コンパイラは Delphi ランタイム システムとリンクします。 たとえば、BCCAARM.EXE を使用する場合:
コマンド | 説明 |
---|---|
|
アプリケーションは、Delphi ランタイム システムとリンクするコンソール アプリケーションとしてビルドされます。 |
|
アプリケーションは、Delphi ランタイム システムとリンクしないコンソール アプリケーションとしてビルドされます。 |
|
アプリケーションは FireMonkey アプリケーションとしてビルドされます。 |
並列コンパイルの使用
コマンドラインで並列コンパイルを有効にするには、-jobs=<N>
コマンドライン オプションを使用します。
使用するサブプロセスの数を指定するには、数字をコマンドライン オプションに追加します。たとえば、サブプロセスを 2 つ使用する場合には、--jobs=2
を使用します。お使いのプロセッサのコアの数より多いサブプロセス数を選択することはできません。
なるべく多くサブプロセスを使用するには、--jobs=0
を使用します。
並列コンパイルは、以下のコマンドライン オプションと一緒に使用することはできません。
コンパイラ ヘルプの表示
コマンドライン インターフェイスのヘルプを表示するには、--help
スイッチを指定してターゲット コンパイラのコマンドライン インターフェイスの実行可能ファイルを実行します。以下に例を示します。
bcc64 --help
-cc1
スイッチと --help
スイッチを使用すると、コマンドライン インターフェイスを使ってコンパイラに渡すことができるスイッチを表示することができます。以下に例を示します。
bcc64 -cc1 --help
依存情報の生成
デフォルトでは、Clang 拡張 C++ コンパイラのコマンドライン インターフェイスは、-sys-header-deps
コマンドライン オプションを使用して、システム ヘッダー ファイルを含む、完全な依存情報を生成します。