Share via


コンパイラ オプション (F#)

このトピックでは、F# コンパイラ (fsc.exe) のコマンド ライン オプションについて説明します。 コンパイル環境は、プロジェクトのプロパティを設定して制御することもできます。

アルファベット順のコンパイラ オプション

次の表は、コンパイラ オプションのアルファベット順の一覧です。 一部の F# コンパイラ オプションは C# コンパイラ オプションに似ています。 それらについては、C# コンパイラ オプションのトピックへのリンクも用意されています。

コンパイラ オプション

Description

-a <output-filename>

ライブラリを生成し、そのファイル名を指定します。 このオプションは、--target:library <filename> の省略形です。

--baseaddress:<string>

ビルドするライブラリのベース アドレスを指定します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/baseaddress (C# コンパイラ オプション)」を参照してください。

--codepage:<int>

ソース ファイルの読み取りに使用するコードページを指定します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/codepage (C# コンパイラ オプション)」を参照してください。

--consolecolors

エラーおよび警告がコンソールの色分けされたテキストを使用することを指定します。

--crossoptimize[+|-]

モジュール間の最適化を有効または無効にします。

--delaysign[+|-]

厳密な名前のキーのパブリックな部分のみを使ってアセンブリに遅延署名します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/delaysign (C# コンパイラ オプション)」を参照してください。

--checked[+|-]

オーバーフロー チェックの生成を有効または無効にします。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/checked (C# コンパイラ オプション)」を参照してください。

--debug[+|-]

-g[+|-]

--debug:[full|pdbonly]

-g: [full|pdbonly]

デバッグ情報の生成を有効または無効にしたり、生成するデバッグ情報の種類を指定したりします。 既定値は、実行中のプログラムにアタッチできる full です。 pdb (プログラム データベース) ファイルに格納するデバッグ情報を制限する場合は、pdbonly を選択します。

同じ名前の C# コンパイラ オプションに相当します。 詳細については、次のトピックを参照してください。

/debug (C# コンパイラ オプション).

--define:<string>

-d:<string>

条件付きコンパイルで使用する記号を定義します。

--doc:<xmldoc-filename>

指定したファイルに XML ドキュメント コメントを生成するようにコンパイラに指示します。 詳細については、「XML ドキュメント (F#)」を参照してください。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/doc (C# コンパイラ オプション)」を参照してください。

--fullpaths

絶対パスを生成するようコンパイラに指示します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/fullpaths (C# コンパイラ オプション)」を参照してください。

--help

-?

使用方法を表示します。すべてのコンパイラ オプションの簡単な説明が表示されます。

--highentropyva[+|-]

強化されたセキュリティ機能である、高いエントロピの ASLR (Address Space Layout Randomization) を有効または無効にします。 OS は、アプリケーションのインフラストラクチャ (スタックとヒープなど) が読み込まれるメモリの位置をランダム化します。 このオプションを有効にすると、オペレーティング システムではこのランダム化を使用して、64 ビット コンピューターで完全な 64 ビット アドレス空間を使用できます。

--keycontainer:<string>

厳密な名前のキー コンテナーを指定します。

--keyfile:<filename>

生成されるアセンブリの署名に使用する公開キー ファイルの名前を指定します。

--lib:<folder-name>

-I:<folder-name>

参照されるアセンブリを検索するディレクトリを指定します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/lib (C# コンパイラ オプション)」を参照してください。

--linkresource:<resource-info>

指定されたリソースをアセンブリにリンクさせます。 resource-info の形式は次のとおりです。filename[,name[,public |private]]

このオプションで単一のリソースをリンクすると、--resource オプションでリソース ファイル全体を埋め込む代わりの方法として使用できます。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/linkresource (C# コンパイラ オプション)」を参照してください。

--mlcompatibility

他のバージョンの ML との互換性維持を目的に設計された機能を使用するときに、表示される警告を無視します。

--noframework

.NET Framework アセンブリへの既定の参照を無効にします。

--nointerfacedata

F# 固有のメタデータを含むアセンブリに通常は追加されるリソースを省略するよう、コンパイラに指示します。

--nologo

コンパイラの起動時にバナー テキストが表示されないようにします。

--nooptimizationdata

インライン構成要素の実装に必要な場合にのみ最適化を行うよう、コンパイラに指示します。 モジュール間のインライン処理を禁止し、バイナリの互換性を改善してください。

--nowin32manifest

既定の Win32 マニフェストを省略するようコンパイラに指示します。

--nowarn:<int-list>

番号で指定した特定の警告を無効にします。 それぞれの警告番号はコンマで区切ります。 警告の警告番号はコンパイルの出力で確認できます。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/nowarn (C# コンパイラ オプション)」を参照してください。

--optimize[+|-] [<string-list>]

-O[+|-] [<string-list>]

最適化を有効または無効にします。 一部の最適化オプションについては、選択して指定したものだけを無効または有効にすることができます。 これには、nojitoptimize、nojittracking、nolocaloptimize、nocrossoptimize、notailcalls があります。

--out:<output-filename>

-o:<output-filename>

コンパイルしたアセンブリまたはモジュールの名前を指定します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/out (C# コンパイラ オプション)」を参照してください。

--pdb:<pdb-filename>

出力デバッグ PDB (プログラム データベース) ファイルに名前を付けます。 このオプションは、--debug も有効にした場合にのみ適用されます。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/pdb (C# コンパイラ オプション)」を参照してください。

--platform:<platform-name>

生成されたコードが、指定したプラットフォーム (x86、Itanium、または x64) でのみ実行されるように指定します。または、platform-name で anycpu が選択されている場合は、生成されたコードをどのプラットフォームでも実行できるように指定します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/platform (C# コンパイラ オプション)」を参照してください。

--quotations-debug

追加のデバッグ情報が F# 引用符リテラルとリフレクション定義から派生した式に対して生成されるように指定します。 デバッグ情報は F# 式ツリー ノードのカスタム属性に追加されます。 「コード クォート (F#)」および「Expr.CustomAttributes」を参照してください。

--reference:<assembly-filename>

-r <assembly-filename>

コンパイルするコードで F# または .NET Framework アセンブリのコードを使用できるようにします。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/reference (C# コンパイラ オプション)」を参照してください。

--resource:<resource-filename>

生成されるアセンブリにマネージ リソース ファイルを埋め込みます。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/resource (C# コンパイラ オプション)」を参照してください。

--sig:<signature-filename>

生成されるアセンブリに基づいてシグネチャ ファイルを生成します。 シグネチャ ファイルの詳細については、「シグネチャ (F#)」を参照してください。

--simpleresolution

MSBuild の解決方法ではなくディレクトリベースの Mono 規則を使用して解決する必要がある、アセンブリ参照を指定します。 既定では、Mono で実行する場合を除き、MSBuild の解決方法が使用されます。

--standalone

F# ライブラリなどの追加のアセンブリを行わなくても、単独で実行できるように、すべての依存関係を含むアセンブリを生成するように指定します。

--staticlink:<assembly-name>

指定したアセンブリと、そのアセンブリに依存するすべての参照 DLL を静的にリンクします。 DLL 名ではなく、アセンブリ名を使用します。

--subsystemversion

生成された実行可能ファイルが使用できる OS サブシステムのバージョンを指定します。 Windows 8 の場合は 6.02、Windows 7 の場合は 6.01、Windows Vista の場合は 6.00 を使用します。 このオプションは、DLL ではなく、実行可能ファイルのみに適用され、アプリケーションが OS の特定のバージョンでのみ使用できる特定のセキュリティ機能に依存している場合にのみ使用される必要があります。 このオプションが使用され、低いバージョンの OS でアプリケーションを実行しようとすると、失敗してエラー メッセージが表示されます。

--tailcalls[+|-]

tail IL 命令の使用を有効または無効にします。有効にすると、スタック フレームが tail 再帰関数で再利用されます。 このオプションの既定値はオンです。

--target:[exe | winexe | library | module ] <output-filename>

生成されるコンパイル済みコードの種類とファイル名を指定します。

  • exe はコンソール アプリケーションを表します。

  • winexe は Windows アプリケーションを表します。コンソール アプリケーションとの違いは、標準入出力ストリーム (stdin、stdout、および stderr) が定義されていないことです。

  • library は、エントリ ポイントのないアセンブリです。

  • module は .NET Framework モジュール (.netmodule) です。後で他のモジュールと組み合わせて、1 つのアセンブリにまとめることができます。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/target (C# コンパイラ オプション)」を参照してください。

--times

コンパイルのタイミング情報を表示します。

--utf8output

UTF-8 エンコーディングでのコンパイラ出力を有効にします。

--warn:<warning-level>

警告レベル (0 ~ 5) を設定します。 既定のレベルは 3 です。 各警告には、重大度に基づいてレベルが設定されます。 レベル 5 の方が重大度は低くなりますが、レベル 1 より多くの警告が表示されます。

レベル 5 の警告は次のとおりです: 21 (実行時にチェックされる再帰的用法)、22 (let rec がエラーと評価)、45 (完全な抽象化)、および 52 (防御的コピー)。 他の警告はすべてレベル 2 です。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/warn (C# コンパイラ オプション)」を参照してください。

--warnon:<int-list>

別のコマンド ライン オプションによって既定または無効になる可能性がある特定の警告を有効にします。 F# 3.0 では、1182 (使用されていない変数) の警告は既定ではオフに設定されています。

--warnaserror[+|-] [<int-list>]

警告をエラーとして報告するオプションを有効または無効にします。 特定の警告番号を指定して無効または有効にすることができます。 後のコマンド ラインのオプションが前のコマンド ラインのオプションをオーバーライドします。 たとえば、エラーとして報告される必要のない警告を指定するには、--warnaserror+ --warnaserror-:<int-list> を指定します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/warnaserror (C# コンパイラ オプション)」を参照してください。

--win32manifest:manifest-filename

コンパイルに Win32 マニフェスト ファイルを追加します。 このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/win32manifest (C# コンパイラ オプション)」を参照してください。

--win32res:resource-filename

コンパイルに Win32 リソース ファイルを追加します。

このコンパイラ オプションは、同じ名前の C# コンパイラ オプションに相当します。 詳細については、「/win32res (C# コンパイラ オプション)」を参照してください。

関連トピック

タイトル

Description

F# Interactive オプション

F# インタープリター (fsi.exe) でサポートされるコマンド ライン オプションについて説明します。

プロジェクト デザイナー ユーザー インターフェイス リファレンス

ビルド オプションを提供するプロジェクトのプロパティのページなど、プロジェクトの UI について説明します。