/GT (armazenamento local de thread seguro de fibra de suporte)
Da suporte à segurança de fibra para os dados atribuídos estático usando o armazenamento de thread local, isto é, com __declspec(thread)dados atribuídos.
/GT
Comentários
Os dados declarados com __declspec(thread) são referenciados com uma matriz (TLS) de armazenamento de thread local. A matriz do TLS é uma matriz de endereços que o sistema mantém para cada thread. Cada endereço nesta matriz de dados do local de armazenamento de thread local.
Uma fibra é um objeto de peso leve que consiste em uma pilha e em um contexto do registro e pode ser agendada em vários threads. Uma fibra pode ser executada em qualquer thread. Como uma fibra pode obter alternado de saída e reiniciado mais tarde em um thread diferente, o endereço da matriz do TLS não deve ser armazenado em cachê ou otimizado como uma subexpressão comuns por uma chamada de função (consulte a opção de /Og (otimizações globais) para obter detalhes). /GT evitar tais 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 Propriedade do projeto. Para obter detalhes, consulte Como abrir páginas de propriedade do projeto.
Clique na pasta C/C++.
Clique na página de propriedades de Otimização .
Modifique a propriedade de Habilita Otimizações Seguras para Fibras .
Para definir essa opção do compilador via programação
- Consulte EnableFiberSafeOptimizations.