/ QIfist (Suprimir _ftol)
Suprime a chamada da função auxiliar _ftol quando uma conversão de um tipo de ponto flutuante para um tipo integral é necessária.
/QIfist
Comentários
Observação |
---|
/QIfistsó está disponível no compilador x86; Esta opção de compilador não está disponível nos compiladores direcionamento x64 ou Itanium. |
Para além de conversão de um tipo de ponto flutuante para o tipo integral, o _ftol função garante que o modo de arredondamento da unidade de ponto flutuante (FPU) é em direção a zero (truncate), definindo bits 10 e 11 do word de controle. Isso garante que a conversão de um tipo de ponto flutuante para um tipo integral ocorre conforme descrito pelo padrão ANSI C (a parte fracionária do número é descartada). Ao usar /QIfist, essa garantia não se aplica mais. O modo de arredondamento será um dos quatro documentado em manuais de referência da Intel:
Arredondar na direção (número par mais próximo se se)
Arredondar em direção ao infinito negativo
Arredondar em direção ao infinito positivo
Arredondar até zero
Você pode usar o _control87, _controlfp, __control87_2 a função C Run-Time para modificar o comportamento de arredondamento da FPU. O padrão que o modo de FPU de arredondamento é "Round em direção a mais próximo." Usando /QIfist pode melhorar o desempenho do seu aplicativo, mas não sem riscos. Você deve testar exaustivamente as partes do código que são sensíveis a modos de arredondamento, antes de confiar em código compilado com /QIfist em ambientes de produção.
/arch (arquitetura de CPU mínimo)e /QIfist não pode ser usado no mesmo compiland.
Observação |
---|
/QIfistnão está em vigor por padrão porque o arredondamento bits também afetam flutuante ponto arredondamento (o que ocorre após cada cálculo), de ponto flutuante para que quando você define os sinalizadores para arredondamento do estilo C (em direção a zero), ponto flutuante seus cálculos podem ser diferentes. /QIfistnão deve ser usado se o seu código depende do comportamento esperado do truncando a parte fracionária do número de ponto flutuante. Se você não tiver certeza, não use /QIfist. |
/QIfistestá obsoleto. O compilador fez melhorias significativas float à velocidade de conversão de int. Para obter mais informações, consulte Deprecated Compiler Options in Visual C++ 2005.
Para definir esta opção de compilador no ambiente de desenvolvimento Visual Studio
Abra o projeto Property Pages caixa de diálogo. Para obter detalhes, consulte:Como: Abrir páginas de propriedades do projeto.
Clique o C/C++ pasta.
Clique na a linha de comando página de propriedades.
Digite a opção de compilador no Opções adicionais de caixa.
Para definir esta opção de compilador programaticamente
- Consulte AdditionalOptions.