共用方式為


/GT (支援光纖安全線程本機記憶體)

支援使用靜態線程本機記憶體配置之數據的光纖安全性,也就是使用 __declspec(thread)配置的數據。

語法

/GT

備註

使用 __declspec(thread) 宣告的數據會透過線程本機記憶體 (TLS) 數位來參考。 TLS 陣列是系統針對每個線程維護的位址陣列。 此陣列中的每個位址都會提供線程本機記憶體資料的位置。

Fiber 是一個輕量型物件,由堆疊和緩存器內容組成,而且可以在各種線程上排程。 光纖可以在任何線程上執行。 因為光纖可能會在稍後在不同的線程上交換並重新啟動,所以編譯程式不得快取 TLS 陣列的位址,或將其優化為函式呼叫的一般子表達式。 /GT 防止這類優化。

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [組態屬性>C/C++>Optimization 屬性頁。

  3. 修改 Enable Fiber-safe Optimizations 屬性。

若要以程式方式設定這個編譯器選項

另請參閱

MSVC 編譯器選項
MSVC 編譯器命令列語法