/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
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.
Selecione a página de propriedades Propriedades da Configuração>C/C++>Otimização.
Modifique a propriedade Habilitar Otimizações com Segurança de Fibra.
Para definir essa opção do compilador via programação
- Consulte EnableFiberSafeOptimizations.
Confira também
Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC