/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.
/GT
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.
Ö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".
- Siehe EnableFiberSafeOptimizations.
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile