/ QIfist (Suprimir _ftol)
Suprime a chamada da função auxiliar _ftol quando uma conversão de um tipo de ponto flutuante em tipo integral é necessária.
/QIfist
Comentários
Observação |
---|
/QIfistsó está disponível no compilador x86; Essa 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 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 da palavra 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 o /QIfist, essa garantia não se aplica mais.O modo de arredondamento será um dos quatro conforme documentado no manuais de referência da Intel:
Arredondar na direção (número par mais próximo se se for)
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 função C Run-Time para modificar o comportamento de arredondamento do 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 seu 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 (x86)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 a flutuante ponto arredondamento (o que ocorre após cada cálculo), de ponto flutuante para que quando você define os sinalizadores para arredondar o 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 de truncar 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 na float, a velocidade de conversão de int.Para obter mais informações, consulte Deprecated Compiler Options.
Para definir esta opção de compilador no ambiente de desenvolvimento Visual Studio
Abra o projeto Páginas de propriedades caixa de diálogo.Para obter detalhes, consulte:Como: abrir páginas de propriedades do projeto.
Clique no C/C++ pasta.
Clique no a linha de comando página de propriedades.
Digite a opção de compilador no Opções adicionais de caixa.
Para definir essa opção de compilador programaticamente
- Consulte AdditionalOptions.