Udostępnij za pośrednictwem


/GT (Obsługa magazynu lokalnego wątków bezpiecznych pod światłowodem)

Obsługuje bezpieczeństwo światłowodów dla danych przydzielonych przy użyciu magazynu statycznego wątku lokalnego, czyli danych przydzielonych za pomocą __declspec(thread)polecenia .

Składnia

/GT

Uwagi

Dane zadeklarowane za pomocą __declspec(thread) odwołania są przywołyne za pośrednictwem tablicy magazynu lokalnego wątku (TLS). Tablica TLS to tablica adresów, które system obsługuje dla każdego wątku. Każdy adres w tej tablicy zawiera lokalizację danych magazynu lokalnego wątku.

Światłowody to lekki obiekt, który składa się ze stosu i kontekstu rejestru i można go zaplanować na różnych wątkach. Światłowod może działać na dowolnym wątku. Ponieważ światłowod może zostać zamienione i ponownie uruchomione później w innym wątku, kompilator nie może buforować adresu tablicy TLS ani zoptymalizować go jako wspólnego podexpressionu w wywołaniu funkcji. /GT zapobiega takim optymalizacjom.

Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę właściwości>Właściwości konfiguracji C/C++>Optimization.

  3. Zmodyfikuj właściwość Enable Fiber-safe Optimizations (Włącz optymalizacje bezpieczne światłowodowo ).

Aby programowo ustawić tę opcję kompilatora

Zobacz też

Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC