目次→コンパイラ→
コマンド・ラインを使う→
Compiler Option: -gen←オリジナル・サイト
目次→
コンパイラ・オプション一覧→
Compiler Option: -gen←オリジナル・サイト
バックエンド・コード・エミッターを設定します。
(コード・エミッターとは、他の環境に向けて、コードを放出するものです。)
構文:
-gen < backend >
パラメーター:
backend
gas は、x86 GAS アセンブリ用, gcc は、GNU C用, gas64 は、x86_64 GAS アセンブリ用, clang は、clang 用, llvm は、LLVM IR 用です。
記述:
The
-gen コンパイラ オプションは、バックエンド コード エミッタとアセンブラを設定します。
このオプションを指定しない場合、デフォルトは x86 の場合は
-gen gas、x86_64の場合は
-gen gcc です。
-gen gas
コンパイラは、GAS アセンブラコードを、.asm ファイルに、渡します。そして、.asm ファイルは、'as'を使ってオブジェクトファイルにコンパイルされます。
これは、fbc のオリジナルの x86 コード生成の最終段階です。
-gen gas64
コンパイラは、GAS アセンブラコード(64ビット)を .asm ファイルに出力します。
このファイルは、'as' を使ってオブジェクト・ファイルにコンパイルされます。
-gen gcc
コンパイラは、C コードを
.c ファイルに渡します。そして、
.c ファイルは、高水準アセンブラとしての '
gcc' を使う、オブジェクト・ファイルにコンパイルされます。
C の最終段階は、FB を、x86 だけでなく、より多くのプラットフォームに移植するように意図されています。
FBC は、Cコードをコンパイルするために gcc を呼び出すことができるので、gcc がインストールされている必要があります。
-gen gcc のための gcc のインストールを参照してください。
-gen clang
コンパイラは C コードを .c ファイルに出力し、それを高水準アセンブラとして 'clang' を使って .asm ファイルにコンパイルします。
-gen llvm
コンパイラーは、LLVM IR コードを .ll ファイルに放射します。その後、 .ll ファイルは、 'llc' を使って、.asm ファイルにコンパイルされます。
LLVM 後段は、まだ進行中の仕事です。
これは、C 後段と同じ目的を意図していて、メタデータのデバッグ支援のような、C 後段の問題のうちのいくつかを理論上解決することができるでょしう。
バージョン:
- -gen clang は、fbc 1.20.0 で追加されました。
参照: