連結選項

CRT lib 目錄包含數個小型物件檔案,可啟用特定 CRT 功能,而不需要變更任何程式碼。 這些物件檔案稱為「連結選項」,因為您只需要將它們新增至連結器命令列即可使用這些選項。

這些物件的純粹 CLR 模式版本在 Visual Studio 2015 中已被取代,而在 Visual Studio 2017 中已不受支援。 請使用機器碼與 /clr 程式碼的一般版本。

原生和 /clr 純的模式 描述
binmode.obj pbinmode.obj 將預設檔案轉譯模式設為二進位。 請參閱 _fmode
chkstk.obj n/a 不使用 CRT 時提供堆疊檢查和 alloca 支援。
commode.obj pcommode.obj 將全域認可旗標設定為「認可」。 請參閱 fopen_wfopenfopen_s_wfopen_s
exe_initialize_mta.lib n/a 在 EXE 啟動期間將 MTA Apartment 初始化,以允許在全域智慧指標中使用 COM 物件。 因為此選項會在關機期間洩漏 MTA Apartment 參考,所以請勿將其用於 DLL。 連結至此檔案相當於包含 combase.h 和定義 _EXE_INITIALIZE_MTA 。 使用此連結選項會將 onecore.lib 新增 至預設程式庫清單。 如果這個效果不理想(例如使用 onecore_apiset.lib 或其他傘式程式庫),請使用 /NODEFAULTLIB 來覆寫此行為並提供替代方案。
fp10.obj n/a 將預設的精確度控制變更為 64 位元。 請參閱 數學和浮點支援
invalidcontinue.obj pinvalidcontinue.obj 設定不做任何動作的預設無效的參數處理常式,表示傳遞至 CRT 函式的無效參數只會設定 errno 並傳回錯誤結果。
legacy_stdio_float_rounding.obj n/a 已修正 Windows 10 19041 通用 C 執行時間的浮點值列印(例如使用 printf 時)。 它現在會正確四捨五入完全可表示的浮點數,並遵守 所要求的 fesetround 浮點四捨五入。 此行為更新可在 Visual Studio 2019 16.2 版和更新版本中取得。 舊版 Visual Studio 中會使用舊版行為,或藉由提供此連結選項。
loosefpmath.obj n/a 確保浮點程式碼容許異常值。
newmode.obj pnewmode.obj 導致 malloc 在失敗時呼叫新的處理常式。 請參閱 _set_new_mode_set_new_handlercallocrealloc
noarg.obj pnoarg.obj 停用所有的 argc 和 argv 處理。
nochkclr.obj n/a 不執行任何動作。 從專案中移除。
noenv.obj pnoenv.obj 停用建立 CRT 快取環境。
nothrownew.obj pnothrownew.obj 啟用 CRT 的非擲回版本新功能。 請參閱 new 和 delete 運算子
setargv.obj psetargv.obj 啟用命令列引數萬用字元展開。 請參閱 展開萬用字元自 變數。
threadlocale.obj pthreadlocale.obj 所有的新執行緒預設啟用每個執行緒地區設定。
wsetargv.obj pwsetargv.obj 啟用命令列引數萬用字元展開。 請參閱 展開萬用字元自 變數。

另請參閱