/GT
(支援光纖安全線程本機記憶體)
支援使用靜態線程本機記憶體配置之數據的光纖安全性,也就是使用 __declspec(thread)
配置的數據。
語法
/GT
備註
使用 __declspec(thread)
宣告的數據會透過線程本機記憶體 (TLS) 數位來參考。 TLS 陣列是系統針對每個線程維護的位址陣列。 此陣列中的每個位址都會提供線程本機記憶體資料的位置。
Fiber 是一個輕量型物件,由堆疊和緩存器內容組成,而且可以在各種線程上排程。 光纖可以在任何線程上執行。 因為光纖可能會在稍後在不同的線程上交換並重新啟動,所以編譯程式不得快取 TLS 陣列的位址,或將其優化為函式呼叫的一般子表達式。 /GT
防止這類優化。
在 Visual Studio 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
選取 [組態屬性>C/C++>Optimization 屬性頁。
修改 Enable Fiber-safe Optimizations 屬性。