これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド ccontrol です。
プログラム:
NAME
ccontrol - distcc、ccache などを制御するラッパー
SYNOPSIS
gccの ...
cc ...
C ++ ...
make ...
ld ...
ccontrol [--セクション= ] ...
ccontrol [--セクション= ]
DESCRIPTION
ccontrol(1) プログラムはコンパイラとリンカの役割を引き継ぎ、
構成ファイルを参照して、それらを呼び出す前に何をするかを決定します。 これは特に便利です
コマンドとオプションの集中制御 (有効化など) 距離(1)と
キャッシュとします。
日時 ccontrol(1) は引数なしで独自の名前で呼び出され、
このディレクトリに適用される設定 (ただし、 - セクション 指定されます)。
バージョンには、最後にバグを報告した人の名前が付けられます。
OPTIONS
通常は ccontrol(1) は、cc、make などへのシンボリング リンクとして呼び出されるため、
それ自体の名前を調べることで何が呼び出されているかを調べます。 独自の下で呼び出すこともできます
この場合、ccontrol 固有の引数を指定できます。 最初の非オプション
引数は呼び出しを識別するために使用されます。 「ccontrol gcc ...」。
次のオプションは、次のように呼び出された場合にサポートされます。 ccontrol:
--セクション=
これは、評価の目的で「現在のディレクトリ」として扱われます。
設定ファイル。 すべての実ディレクトリは引数を使用して「/」で始まる必要があるため、
これはそうではありませんが、この特定の設定をオーバーライドする良い方法です。
呼び出し。
CONFIGURATION FILE
ccontrol の設定ファイルは $HOME/.ccontrol/config です。 これが読めない場合(そして
と書かれています)、コンパイルはすべて失敗します。 複数種類あるのが普通
このディレクトリに設定ファイルを配置し、デフォルトをシンボリック リンクにします。
構文
構成ファイルは、「[path]」ヘッダーで始まり、その後に続くセクションで構成されます。
インデントされた「名前 = 値」エントリ。 通常、最初のセクションには「[*]」というラベルが付けられ、
デフォルト。 少なくとも、「cc」、「c++」、「make」、「ld」の値を設定する必要があります。
ccontrol は現在のディレクトリに一致するすべてのセクションを読み取るため、オーバーライドできます。
ディレクトリごとの値。 各セクションの「[path]」ヘッダーはシェル スタイルです。
ワイルドカード (参照 地球(7)) これは、適用されるディレクトリを示します。 いつもの
すべてのサブディレクトリを含めるには、これは「*」で終わります。
「~」で始まるすべてのパスは、ユーザーのホーム ディレクトリに対する相対パスです。 パスは次のとおりです。
ディレクトリとして指定されます。この場合、ccontrol はプログラム名をディレクトリに追加します。
ディレクトリにあります。
次の設定を使用できます。
cc
続いて = ccontrol が実行されたときに呼び出されるコンパイラのパスを指定します。
「cc」または「gcc」として呼び出されます。 これが設定されていない場合、ccontrol は C プログラムのコンパイルに失敗します。
C ++
続いて = ccontrol が実行されたときに呼び出されるコンパイラのパスを指定します。
「c」または「g」として呼び出されます。 これが設定されていない場合、ccontrol は C++ プログラムのコンパイルに失敗します。
ld
続いて = ccontrol の呼び出し時に呼び出されるリンカーのパスを指定します
「LD」として。 これが設定されていない場合、ccontrol はプログラムのリンクに失敗します。
make
続いて = ccontrol が呼び出されるときに呼び出されるバイナリのパスを指定します
「作る」として。 これが設定されていない場合、ccontrol は make に失敗します。
キャッシュ
続いて = 「ccache」のパスを指定し、ccache が使用されることを示します
適切な場において。 続いて disable、設定されていない場合、ccache は使用されません。
距離
続いて = 「distcc」のパスを指定し、distcc が使用されることを示します
適切な場において。 続いて disable、設定されていない、または distcc-hosts が設定されていない、
distcc は使用されません。
distcc-hosts
続いて = DISTCC_HOSTS 環境に従って、使用する distcc サーバーを指定します
の変数 距離(1)。 に続く disable distcc を無効にします。
distc++ ホスト
distcc-hosts と同じですが、Ccompilations にのみ適用されます。 設定されていない場合は、distcc-hosts
使用されている。 したがって、「distc++-hosts」を設定することで、C コンパイルの distcc を無効にすることができます。
無効にする」。
CPUの
続いて = CPU の数は、所有している CPU の数に設定されます (デフォルトは
「1」)。 ccontrol これを使用して並列度を調整します。
平行なし
続いて = およびワイルドカードのスペース区切りのリストは、並列 make for を抑制します。
それらのいずれかに一致するターゲットを作成します。 このオプションが必要になる理由は、 ccontrol(1)
通常は強制的に make(1) すべてのアクションを並行して実行しますが、混乱を招く可能性があります。
エラーが発生し、不適切に作成された Makefile が壊れた場合。 に続く disable,
すべてのターゲットの並列 make を有効にします。これは、あるターゲットで並列 make を再度有効にするのに役立ちます。
サブディレクトリ。
nice
続いて = 優先レベルが -19 から 20 の場合、ccontrol はその優先レベルを設定しようとします。
この値を優先します。 デフォルトは 10 です。
include
続いて = 現在の時点で含めるファイルを指定します。 効果はまさに
インクルードされたファイルの内容が文字通り挿入されたかのように。 ファイルで使用可能
セクションを含めるレベル。 セクション内で使用してセクションを含めることもできます
フラグメント。
メイクを追加する
続いて = の各呼び出しに追加される引数を指定します。 make。 これはできます
複数の引数を追加するには、複数回指定します。 に続く disable あらゆるものを削除します
前に指定された引数。
環境を追加
続いて = 「add env =」のように、設定する環境変数を指定します。
CCACHE_DIR=/ tmpに"。複数の環境を設定するために複数指定できます。
変数。 に続く disable 以前に指定された引数を削除します。
詳細
それ自体は次のことを示します ccontrol(1) は標準エラーに大量のゴミを吐き出すことです
それがあなたの無実のコマンドラインに何をしているのかについて。
ロックファイル
使用する特定のロック ファイルを指定します。
例
これは最小限の構成ファイルです。
[*]
cc = /usr/bin/gcc
c++ = /usr/bin/g++
ld = /usr/bin/ld
=を作る / usr / bin / make
複数の場所 (ラップトップなど) がある場合は、「グローバル」ファイルが存在するのが一般的です。
これは、次のようにすべての構成ファイルに含まれます。
# 仕事中の設定ファイル。 distcc ホストがたくさんあります!
含む = ~/.ccontrol/グローバル
[*]
distcc-hosts = スナブ swarm1 swarm3 swarm4 swarm5 fandango2 ミンゴ
distc++-hosts = スナブ mingo
以下は、いくつかの一般的なシナリオを含む完全な構成ファイルです。
[*]
cc = /usr/bin/gcc-4.0
c++ = /usr/bin/g++-4.0
ld = /usr/bin/ld
=を作る / usr / bin / make
# デバッグのためにこれをコメントに戻します
# 冗長
distcc = /usr/bin/distcc
distcc-hosts = スナブ swarm1 swarm3 swarm4 swarm5 fandango2 ミンゴ
distc++-hosts = スナブ mingo
ccache = /usr/bin/ccache
# make check は通常、並行して実行すべきではありません
平行なし = チェック
# Wesnoth は g++ 4.0 ではコンパイルできません
[*ウェスノス*]
c++ = /usr/bin/g++-3.4
# 愚かなサードパーティモジュールは並行してビルドしません。
[/usr/src/モジュール/*]
並列なし = *
# module-init-tools をテストするときに distcc を使用すると、奇妙な影響が発生します。
[*モジュール初期化ツール*/tests/*]
distccを無効にする
onworks.net サービスを使用してオンラインで ccontrol を使用する