Compartilhar via


/GT (suporte a armazenamento local de thread com segurança de fibra)

Dá suporte à segurança de fibra para dados alocados usando armazenamento local de thread estático, ou seja, dados alocados com __declspec(thread).

Sintaxe

/GT

Comentários

Os dados declarados com __declspec(thread) são referenciados por meio de uma matriz TLS (armazenamento local de thread). A matriz TLS é uma matriz de endereços que o sistema mantém para cada thread. Cada endereço nessa matriz fornece o local dos dados de armazenamento local do thread.

Uma fibra é um objeto leve que consiste em uma pilha e um contexto de registro e que pode ser agendada em vários threads. Uma fibra pode ser executada em qualquer thread. Como uma fibra pode ser trocada e reiniciada posteriormente em um thread diferente, o compilador não deve armazenar em cache o endereço da matriz TLS nem otimizá-lo como uma subexpressão comum em uma chamada de função. /GT impede essas otimizações.

Para definir esta opção do compilador no ambiente de desenvolvimento do Visual Studio

  1. Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.

  2. Selecione a página de propriedades Propriedades da Configuração>C/C++>Otimização.

  3. Modifique a propriedade Habilitar Otimizações com Segurança de Fibra.

Para definir essa opção do compilador via programação

Confira também

Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC