編譯器選項 (F#)

本主題說明 F# 編譯器 fsc.exe 的編譯器命令列選項。 此編譯環境也可以經由設定專案屬性來控制。

依字母順序排列的編譯器選項

下表顯示依字母順序列出的編譯器選項。 F# 編譯器的部分選項與 C# 編譯器選項相似。 如果有相似的部分,本文會提供 C# 編譯器選項主題的連結。

編譯器選項

描述

-a <output-filename>

用來產生程式庫並指定其檔案名稱。 這個選項是 --target:library <filename> 的簡短形式。

--baseaddress:<string>

用來指定要建置之程式庫的基底位址 (Base Address)。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /baseaddress (C# 編譯器選項)

--codepage:<int>

用來指定讀取原始程式檔時所要使用的字碼頁。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /codepage (C# 編譯器選項)

--crossoptimize[+|-]

啟用或停用跨模組最佳化。

--delaysign[+|-]

用來延遲簽署只使用強式名稱金鑰公開部分的組件。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /delaysign (C# 編譯器選項)

--checked[+|-]

用來啟用或停用產生溢位檢查的功能。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /checked (C# 編譯器選項)

--debug[+|-]

-g[+|-]

--debug:[full|pdbonly]

-g: [full|pdbonly]

用來啟用或停用產生偵錯資訊的功能,或用來指定要產生的偵錯資訊類型。 預設值為 full,表示允許附加偵錯資訊至執行中的程式。 選擇 pdbonly 可以取得儲存在 pdb (程式資料庫) 檔中的有限偵錯資訊。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱

/debug (C# 編譯器選項).

--define:<string>

-d:<string>

用來定義執行條件式編譯時使用的符號。

--doc:<xmldoc-filename>

用來指示編譯器將 XML 文件註解產生至指定的檔案。 如需詳細資訊,請參閱 XML 文件 (F#)

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /doc (C# 編譯器選項)

--fullpaths

用來指示編譯器產生完整的路徑。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /fullpaths (C# 編譯器選項)

--help

-?

用來顯示用法資訊,包括所有編譯選項的簡短說明。

--keycontainer:<string>

用來指定強式名稱金鑰容器。

--keyfile:<filename>

用來指定簽署產生之組件時所要使用的公開金鑰檔名稱。

--lib:<folder-name>

-I:<folder-name>

用來指定要搜尋所參考組件的目錄。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /lib (C# 編譯器選項)

--linkresource:<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) 上執行,如果選擇的平台名稱是 anycpu,即指定產生的程式碼可以在任何平台上執行。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /platform (C# 編譯器選項)

--reference:<assembly-filename>

-r <assembly-filename>

用來讓編譯中的程式碼可以存取 F# 或 .NET 組件的程式碼。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /reference (C# 編譯器選項)

--resource:<resource-filename>

用來將 Managed 資源檔內嵌到產生的組件中。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /resource (C# 編譯器選項)

--sig:<signature-filename>

用來產生以所產生組件為基礎的簽章檔。 如需簽章檔的詳細資訊,請參閱簽章 (F#)

--simpleresolution

用來指定應該使用目錄型 Mono 規則來解析組件參考,而非 MSBuild 解析。 預設值是使用 MSBuild 解析,但不含在 Mono 下執行時。

--standalone

指定將編譯中程式碼相依的 F# 程式庫及所有參考 DLL 靜態連結至產生的組件。

--staticlink:<assembly-name>

用來靜態連結指定的組件以及相依於此組件的所有參考 DLL。 請使用組件名稱,而非 DLL 名稱。

--tailcalls[+|-]

啟用或停用尾端 (Tail) IL 指令的用法,此用法會導致尾端遞迴函式重複使用堆疊框架。 這個選項預設為啟用。

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

用來指定產生之已編譯程式碼的類型和檔案名稱。

  • exe 表示主控台應用程式

  • winexe 表示 Windows 應用程式,由於沒有定義標準輸入/輸出資料流 (stdin、stdout 和 stderr),因此與主控台應用程式有所不同

  • library 是沒有進入點的組件

  • module 是 .NET 模組 (. netmodule),可稍後再與其他模組合併為組件

  • 這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /target (C# 編譯器選項)

--times

顯示編譯的時間資訊。

--utf8output

用來啟用以 UTF-8 編碼方式列印編譯器輸出的功能。

--warn:<warning-level>

設定警告層級 (0 至 4)。 每個警告的層級是根據其嚴重性來指定的。 層級 4 會提供比層級 0 還要多但較不嚴重的警告。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /warn (C# 編譯器選項)

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

用來啟用或停用將警告報告為錯誤的選項。 您可以提供要停用或啟用的特定警告編號。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /warnaserror (C# 編譯器選項)

--win32res:resource-filename

用來將 Win32 資源檔加入至編譯。

這個編譯器選項相當於相同名稱的 C# 編譯器選項。 如需詳細資訊,請參閱 /win32res (C# 編譯器選項)

相關主題

標題

說明

F# Interactive 選項

說明 F# 解譯器 fsi.exe 支援的命令列選項。

專案、使用者介面項目

說明專案的 UI,包括會提供建置選項的專案屬性頁。