共用方式為


編譯器選項 (F#)

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

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

下表顯示依字母順序列出的編譯器選項。 F# 編譯器的部分選項與 C# 編譯器選項相似。 如果是這樣,係依 C# 編譯器選項主題的連結。

編譯器選項

描述

-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,表示允許附加偵錯資訊至執行中的程式。 選擇 pdbonly 可以取得儲存在 pdb (程式資料庫) 檔中的有限偵錯資訊。

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

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

--define:<string>

-d:<string>

定義條件式編譯符號,以供使用。

--doc:<xmldoc-filename>

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

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

--fullpaths

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

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

--help

-?

顯示用法資訊,包括所有的編譯器選項的簡短描述。

--highentropyva[+|-]

啟用或停用隨機高亂度的位址空間配置載入 (ASLR),增強的安全性功能。 OS 隨機放置個記憶體中的位置載入的應用程式 (例如堆疊和堆積中) 的基礎結構的位置。 如果您啟用這個選項時,作業系統就可以使用這個隨機 64 位元電腦上使用完整 64 位元位址空間。

--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

會忽略與毫升其他版本的相容性使用的程式設計功能時出現警告。

--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 Framework 組件所編譯的程式碼,您可以使用。

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

--resource:<resource-filename>

受管理的資源檔案嵌入產生的組件。

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

--sig:<signature-filename>

產生簽章檔案,根據產生的組件。 如需簽章檔的詳細資訊,請參閱簽章 (F#)

--simpleresolution

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

--standalone

指定產生組件,其中包含所有的相依性,使它單獨執行而不需要額外的組件,例如 F# 程式庫。

--staticlink:<assembly-name>

以靜態方式連結指定的組件及相依於這個組件的所有參考之的 Dll。 請使用組件名稱,而非 DLL 名稱。

--subsystemversion

指定 OS 子系統所產生的可執行檔使用的版本。 使用 6.02 的Windows 8,6.01 的 Windows 7,Windows Vista 而言 6.00。 這個選項只適用於可執行檔,不是 Dll,並需要才使用應用程式必須依賴特定的安全性功能僅適用於特定版本的 OS。 如果使用這個選項,且使用者嘗試在舊版本的 os 上執行應用程式,它將會失敗並出現錯誤訊息。

--tailcalls[+|-]

啟用或停用的機尾 IL 指令時,它會使得可以重複使用於尾端遞迴函式的堆疊框架。 這個選項預設為啟用。

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

指定的型別和檔案名稱產生的已編譯程式碼。

  • exe表示一個主控台應用程式。

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

  • library是沒有進入點的組件。

  • module是。NET Framework 模組 (。 netmodule),這可以稍後再結合其他模組為組件。

這個編譯器選項相當於相同名稱的 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# 編譯器選項)

相關主題

標題

描述

F# Interactive 選項

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

專案設計工具使用者介面參考

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