FreeBASIC マニュアルのトップに戻る

FreeBASIC CompilerCmdLine

目次→FreeBASIC コンパイラを使う→fbc command-line←オリジナル・サイト

コマンド・ラインを使う(fbc コマンドライン) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい

←リンク元に戻る プログラム開発関連に戻る

fbc を、コンソールから、引数なしで実行すると、利用可能なオプションと、コマンドライン・スイッチのリストを、表示します fbc コマンドラインを、使います。

注:「環境設定」でパスを通しておく と fbc のパス部分を省略できます。

公式の FreeBASIC のダウンロード・ファイルには、fbc (FreeBASIC 旗艦コンパイラ) が入っています。
fbc は、コマンドライン・コンパイラーで、DOS のコンソールか、Windows コマンド・プロンプトか、Linux シェルから、起動することができます。
fbc を、コンソールから、引数なしで実行すると、利用可能なオプションと、コマンドライン・スイッチの一覧を、表示します。これらのオプションやスイッチを使って、コンパイラの働きを、調整できます。

 コマンドラインにオプション -version を追加して実行すると、インストールされている FreeBASIC のバージョンを簡単に確認することができます。
コンパイラ・オプション: -version

とても簡単です。fbc は、コマンドラインの引き数としてソース・ファイルを与えると、実行可能ファイルを生成します。
このプロセスは、ソースファイル(.bas)を、アセンブラ(.asm)ファイルにコンパイルして、次に、GASを使って、オブジェクト・ファイル(.o)に、これをコンパイルします。最後に、LD を使って、このオブジェクト・ファイルを、実行に必要な、他のオブジェクト・ファイルとライブラリに、リンクにします。そして、最終的な実行可能なファイルを作り出します。
アセンブラと、コンパイルされたオブジェクト・ファイルは、デフォルトでは、ここで削除されます。
例えば、下の命令、

fbc foo.bas

は、DOS と Windows で、実行ファイル foo.exe を生成して、リナックスでは、./foo を生成します。

fbc は、複数のソースファイルを同時に受け入れて、コンパイルして、一つの実行ファイルに、リンクできます。

例えば、下の命令、

fbc foo.bas bar.bas baz.bas

は、DOS と Windows で、実行ファイル foo.exe を生成して、リナックスでは、./foo を生成します。
上の例では、foo.bas が最初に記載されているので、これは、プログラムの実行を開始する場所(実行ファイルの主入口点)になり、この名前が使われます。

異なる開始位置(エントリーポイント:呼び出し位置、主入口点)や、実行ファイル名を指定するには、それぞれ "-m" と "-x" スイッチを使ってください。
例えば、baz.bas を、実行ファイル foobar.exe の主入口点としたい場合は、下のように指示します。

fbc -x foobar.exe -m baz foo.bas bar.bas baz.bas

"-x" スイッチは、実行ファイルを、文字どおりに命名するので、リナックスでは、上のコマンドから生産された実行ファイルは ./foobar.exe となります。

構文:
fbc [ options ] [ input_list ]

ここで input_list は、ファイル名のリストです。受け入れられるファイルは、下の通りです:

ファイル拡張子 記述
.bas FreeBASIC ソース・ファイル
.a ライブラリ(Library)
.o オブジェクト・ファイル
.rc 資源スクリプト(Windows のみ)
.res コンパイルされた資源(Windows のみ)
.xpm X アイコン pixmap(Linux のみ)

ソース・コード
-b < 名前 >
コンパイルに、ソース・ファイルを加えます。
-i < 名前 >
インクルード・ファイルを検索する経路を、加えます。
-include < 名前 >
コンパイルされるそれぞれのソースに、ヘッダー・ファイルを含めます。
-d < name=val >
プリプロセッサーの定義を追加します。
-lang < 名 >
言語の互換性を選択:fbfbliteqbdeprecated
-forcelang < 名 >
言語の互換性を選択:fbfbliteqbdeprecated (コード中の指定より優先します。)

コード生成
-target < プラットフォーム >
クロス・コンパイルのために、目標プラットホームを設定します。
-gen < バックエンド >
コンパイラ・バックエンドを設定します。
(デフォルトは x86 の場合は「gas」、x86_64 の場合は「gcc」)
-asm < format >
アセンブラ・フォーマットを Asm ブロックに設定します。
-arch < 型 >
目標ハード構成を設定します。
-O < レベル >
最適化レベルを設定します。(-gen gcc)
-vec < レベル >
コンパイラによって可能にする、ベクトル最適化のレベルを設定します。(デフォルト: 0)
-fpu < 型 >
浮動小数点演算ユニットを設定します。(デフォルト: FPU)
-fpmode < 型 >
浮動小数点の操作で、速さと、精度のどちらを優先するか、選択します。 (デフォルト: PRECISE(精度))
-z < 値 >
その他、あるいは、実験的なオプションを設定します。
-pic
position に依存しないコードを生成します。(非x86 の Unix 共有ライブラリ)

コンパイル
-m < 名前 >
メインファイル(拡張子なし)、開始位置(エントリーポイント) (デフォルトは、コマンドライン上の、最初の .bas ファイル)を定義します。
-entry < 名前 >
黙示的なユーザー主関数の公開エクスポート名を上書きします。
-g
デバッグ情報を追加します。
-profile
関数プロファイリングを可能にします。
-e
エラーチェックを加えます。
-ex
RESUME サポート付きのエラーチェックを加えます。
-exx
-ex と同じものに、配列範囲と、ヌル・ポインタと、エラー位置の報告を追加。
-eunwind
スタックをほどく情報を有効にする
-Wa < opt >
オプションを GAS に渡します。(コンマで区切ります)
-Wc < opt >
オプションを GCC に渡します。(コンマで区切ります)
-o < 名前 >
オブジェクト・ファイルの経路/名前を設定します。(.bas ファイルの後に、渡さなければなりません)
-earray
配列の範囲(上下限)チェックを有効にする
-eassert
assert() と assertwarn() チェックを有効にする
-edebug
Enable __FB_DEBUG__ を有効にする
-edebuginfo
デバッグ情報を追加。
-elocation
完全なエラー位置レポートを有効にする
-enullptr
null ポインター チェックを有効にする

リンク
-a < 名前 >
リンカのリストに、オブジェクト・ファイルを加えます。
-l < 名前 >
リンカのリストに、ライブラリー・ファイルを加えます。
-p < 名前 >
ライブラリを検索する、経路を加えます。
-mt
スレッド・セーフ実行時ライブラリに、リンクします。
-nodeflibs
デフォルト・ライブラリーを含めません。
-nolib < 名前 >
特定のライブラリを含めません。
-static
リンクするとき、動的ライブラリより静的ライブラリを選びます。
-map < 名 >
リンク地図を、ファイル名に、保存します。
-Wl < opt >
オプションを、LD に渡します。(コンマで区切ります)
-export
動的なリンケージのシンボルを輸出します。
-lib
静的なライブラリーを、生成します。
-dylib
インポートライブラリを含むDLLを作成します。
-dll
インポート・ライブラリを含む DLL を作成します。( -dylib と同じ)
-x < 名前 >
実行ファイル/ライブラリの、経路/名前を設定します。
-nostrip
出力ファイルからシンボル情報を取り除かない
-strip
出力ファイルからすべてのシンボル情報を省略する

振る舞い
-prefix < パス >
コンパイラー接頭辞パスを、設定します。
-buildprefix < 名前 >
内部 buildprefix オプションを設定する。
-version
コマンドライン上に、コンパイラー・バージョンを示します。コンパイルやリンクは、しません
-v
冗長にします。
-print < オプション >
特定の情報を表示します (fblibdir, host, target, x)
-pp
前処理された入力ファイルを放出するだけです。コンパイルはしません。
-r
中間ファイルに書くだけです。アッセンブルもリンクも、しません。
-rr
asm ファイルにコンパイルするだけで、アセンブルや、リンクはしません。
-c
ソース・ファイルをコンパイルしアセンブルするだけです。リンクしません。
-R
中間ファイルを削除しません。
-RR
asm ファイルを削除しません。
-C
オブジェクト・ファイルを削除しません。
-w < 値 >
最小の警告レベルを設定します: all, none, param, escape, pedantic, next, funcptr, constness, suffix, error, upcast 、または「値」
-maxerr < 値 >
<値> 回エラーが発生したら、解析することを止めるだけです。
-noerrline
エラーが発生したソース行を表示しません。
-noobjinfo
.o および .a ファイルとの間で、コンパイル時情報を読み書きしない。
-showincludes
#included ファイルのファイル名ツリーを表示

具体的な目標
-s < 名前 >
サブシステムを設定します。(guiconsole)
-t < 値 >
キロバイト単位で、スタック・サイズを設定します。(デフォルト: 1 MB or 2 MB)

メタ
@< ファイル >
ファイルから、(付加的)コマンドライン・オプションをの読み取ります。

 


例:
fbc myfile.bas
(FBC の DOS バージョンで、DOS の実行ファイル MYFILE.EXE として、コンパイルしてリンクします。)

fbc -s gui myfile.bas
(FBC の Windows バージョンで、Windows の実行ファイル myfile.exe として、コンパイルしてリンクします。プログラムを実行しているとき、実行画面(「MS-DOSプロンプト」)を表示しません。)

fbc -lib module1.bas module2.bas module3.bas -x libmylib.a
(3つのソース・ファイルから、静的なライブラリー libmylib.a をコンパイルしてリンクします。)

fbc -m main_module -c main_module.bas
(オブジェクト・ファイル main_module.o をコンパイルして、開始位置(エントリーポイント:呼び出し位置)としてそれをマークします。)

fbc -c sub_module.bas
(オブジェクト・ファイル sub_module.o をコンパイルします。)

fbc -x application.exe main_module.o sub_module.o
(実行ファイル application.exe をリンクします。)

注意: FB 実行可能プログラムにアイコンを含める方法
FB プログラムのコンパイルで、実行可能ファイルにアイコンを含める、簡単なコマンドライン・オプションがあります:

参照:
目次に戻る
←リンク元に戻る プログラム開発関連に戻る

ページ歴史:2022-12-27 00:41:16
日本語翻訳:WATANABE Makoto、原文著作者:SysOp

ホームページのトップに戻る

表示-非営利-継承