/GT
(Unterstützung von glasfasersicheren threadsicheren thread-lokalen Speicher)
Unterstützt die Fasersicherheit für Daten, die mit statischem threadlokalen Speicher zugeordnet werden, d. h. Daten, die __declspec(thread)
zugeordnet sind.
Syntax
/GT
Hinweise
Daten, die mit __declspec(thread)
deklariert werden, werden über ein TLS-Array (Thread-Local Storage) referenziert. Das TLS-Array ist ein Array von Adressen, das das System für jeden Thread verwaltet. Jede Adresse in diesem Array gibt den Speicherort von threadlokalen Speicherdaten an.
Eine Faser ist ein einfaches Objekt, das aus einem Stapel und einem Registerkontext besteht und in verschiedenen Threads geplant werden kann. Eine Faser kann auf jedem Thread ausgeführt werden. Da eine Faser später in einem anderen Thread ausgetauscht und neu gestartet wird, muss der Compiler die Adresse des TLS-Arrays nicht zwischenspeichern oder als gemeinsame Unterausdruck für einen Funktionsaufruf optimieren. /GT
verhindert solche Optimierungen.
So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Wählen Sie die Konfigurationseigenschaftenseite>C/C++>-Optimierung aus.
Ändern Sie die Eigenschaft "Glasfasersichere Optimierungen aktivieren".
So legen Sie diese Compileroption programmgesteuert fest
- Siehe EnableFiberSafeOptimizations.
Siehe auch
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile