fcsh(Flex コンパイラシェル)ユーティリティは、Flex アプリケーション、モジュールおよびコンポーネントライブラリのコンパイルに使用するシェル環境を提供します。動作は、mxmlc および compc の各コマンドラインコンパイラに非常によく似ていますが、コンパイルは fcsh の方が高速です。高速である理由の 1 つは、すべてがメモリに格納されているので、fcsh には JVM を起動してコンパイラクラスをロードするためのオーバーヘッドが存在しないことがあります。その他の理由には、コンパイル結果(文字情報など)が、以降のコンパイルのためにメモリに保管されていることがあります。
このユーティリティは、コマンドラインコンパイラのユーザー体験を改善することを意図しています。Flex Builder を使用している場合、fcsh を使用する必要はありません。Flex Builder ツールは、fcsh によって提供される最適化機能を既に備えています。
シンプルなアプリケーションでは、fcsh は必要ないこともあります。頻繁にコンパイルを行う複雑なアプリケーションで fcsh を使用すると、mxmlc や compc コマンドラインコンパイラと比較して、パフォーマンスが顕著に向上していることがわかります。
fcsh で初めてアプリケーションをコンパイルするときには、通常はコマンドラインコンパイラとの速度の違いはほとんど感じられません。これは、初回のコンパイルでは、fcsh はコマンドラインコンパイラと同じように、アプリケーションモデルとカスタムライブラリをメモリにロードする必要があるからです。ただし、以降のコンパイルでは、メモリに格納したライブラリがコンパイルに使用されます。これにより、コンパイラのディスクアクセスの回数が減るため、コンパイラ時間が短くなります。
fcsh ツールは、bin ディレクトリにあります。Unix と Mac OS では、このツールは fcsh と呼ばれるシェルスクリプトです。Windows では、fcsh.exe です。このツールは、コマンドラインからしか呼び出せません。Java 設定は、bin ディレクトリの jvm.config ファイルで管理されています。
fcsh はコマンドラインから呼び出します。このユーティリティは実行ファイル(Windows)として、またはシェルコマンド(Unix/Linux/Mac)として起動できます。
通常は、初めて fcsh を起動したときには、簡単なアプリケーションをコンパイルします。次に例を示します。
(fcsh) mxmlc c:/myfiles/MyApp.mxml
fcsh ユーティリティは、次のようなターゲット ID を返します。
fcsh: Assigned 1 as the compile target id.
このターゲット ID を、fcsh ユーティリティ内の以降のコマンドを使用するときに参照します。例えば、インクリメンタルコンパイルでアプリケーションをコンパイルします。
(fcsh) compile 1
fcsh シェルに help と入力すると、使用できるオプションのリストが表示されます。次に例を示します。
(fcsh) help
fcsh シェルに quit と入力すると、fcsh を終了し、コマンドラインプロンプトに戻ることができます。次に例を示します。
(fcsh) quit
次の例は、同じアプリケーションを繰り返しコンパイルした場合に、fcsh によってコンパイル時間が大幅に短縮されることを示します。
(fcsh) mxmlc -benchmark=true flexstore.mxml
Total time: 8885ms
Peak memory usage: 84 MB (Heap: 58, Non-Heap: 26)
(fcsh) mxmlc -benchmark=true flexstore.mxml
Total time: 5140ms
Peak memory usage: 84 MB (Heap: 57, Non-Heap: 27)
次に、同じアプリケーション全体をコンパイルすると、より高速になります。
> touch flexstore.mxml
(fcsh) compile 1
Files changed: 1 Files affected: 0
Total time: 933ms
Peak memory usage: 88 MB (Heap: 62, Non-Heap: 26)
flexstore.swf (522456 bytes)
Total time: 1102ms
Peak memory usage: 77 MB (Heap: 51, Non-Heap: 26)
(fcsh)
次の表に、利用できる fcsh オプションを示します。
|
オプション |
説明 |
|---|---|
| clear [id] |
メモリからターゲット ID を削除しますが、ターゲットの *.cache ファイルを保存します。ID 引数を指定せずにこのコマンドを入力した場合、fcsh はすべてのターゲット ID をクリアします。キャッシュファイルの詳細については、インクリメンタルコンパイルについてを参照してください。 |
| compile id |
リンク付けしないでインクリメンタルコンパイルを使用し、指定された ID をコンパイルします。更新されていないターゲットをコンパイルしようとした場合、そのターゲットはスキップされます。 |
| compc arg1 [...] |
特定のソースの SWC ファイルをコンパイルします。このコマンドは、他の fcsh オプションに渡せるターゲット ID を返します。ターゲット ID は、新たにコンパイルされるたびに 1 ずつ増加します。fcsh を終了してから再起動した場合、すべてのターゲットはクリアされ、ID は再び 1 から開始されます。 |
| info [id] |
ソースファイルやキャッシュファイル名など、コンパイラターゲットの情報を表示します。ターゲット ID を指定しない場合、すべてのターゲットの情報がターゲット ID の降順に表示されます。 |
| mxmlc arg1 [...] |
mxmlc コマンドラインコンパイラを使用し、ターゲット Flex アプリケーションまたはモジュールをコンパイルして最適化します。このコマンドは、他の fcsh オプションに渡せるターゲット ID を返します。ターゲット ID は、新たにコンパイルされるたびに 1 ずつ増加します。fcsh を終了してから再起動した場合、すべてのターゲットはクリアされ、ID は再び 1 から開始します。 |
| quit |
fcsh ユーティリティを終了します。メモリ内に格納された全データが廃棄されます。fcsh を再起動した場合、以前のセッションで作成されたターゲットにはアクセスできません。 |
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート