/GT (Support Fiber-Safe Thread-Local Storage)
The latest version of this topic can be found at -GT (Support Fiber-Safe Thread-Local Storage).
Supports fiber safety for data allocated using static thread-local storage, that is, data allocated with __declspec(thread)
.
Syntax
/GT
Remarks
Data declared with __declspec(thread)
is referenced through a thread-local storage (TLS) array. The TLS array is an array of addresses that the system maintains for each thread. Each address in this array gives the location of thread-local storage data.
A fiber is a lightweight object that consists of a stack and a register context and can be scheduled on various threads. A fiber can run on any thread. Because a fiber may get swapped out and restarted later on a different thread, the address of the TLS array must not be cached or optimized as a common subexpression across a function call (see the /Og (Global Optimizations) option for details). /GT prevents such optimizations.
To set this compiler option in the Visual Studio development environment
Open the project's Property Pages dialog box. For details, see How to: Open Project Property Pages.
Click the C/C++ folder.
Click the Optimization property page.
Modify the Enable Fiber-safe Optimizations property.