Compartilhar via


/QIfist (suprimir _ftol)

Suprime a chamada da função _ftol auxiliar quando uma conversão de um tipo de ponto flutuante a um tipo integral é necessária.

/QIfist

Comentários

Dica

/QIfist está disponível somente no compilador que se destinam x86; essa opção de compilador não está disponível nos compiladores que têm o orARM de x64 .

Além de converter de um tipo de ponto flutuante o tipo integral, a função de _ftol assegura que o modo de arredondamento de unidade de ponto flutuante (FPU) está para zero (truncam), definindo os bits 10 e 11 do word de controle. Isso garante que a conversão de um tipo de ponto flutuante a um tipo integral ocorre como descrito pelo padrão ANSI C (a parte fracionária do número é descartada). Ao usar /QIfist, essa garantia não se aplica. O modo de arredondamento terá um de quatro conforme documentado nos manuais de referência Intel:

  • Arredondar para o mais próximo (mesmo se número equidistante)

  • Arredondar para o infinito negativo

  • Arredondar para o infinito positivo

  • Arredondar para zero

Você pode usar a função de tempo de execução de _control87, _controlfp, __control87_2 C para alterar o comportamento de arredondamento de FPU. O modo de arredondamento padrão de FPU é “arredondar para o mais próximo.” Usar /QIfist pode melhorar o desempenho de seu aplicativo, mas não sem o risco. Você deve testar completamente as partes do código que são sensíveis a arredondar modos antes de usar o código compilado com /QIfist em ambientes de produção.

/arch (x86) e /QIfist não podem ser usados no mesmo compiland.

Dica

/QIfist não é aplicado por padrão como os bits de arredondamento também afetam o ponto flutuante até o ponto flutuante que se arredonda (que ocorre após cada cálculo) portanto, quando você definir os sinalizadores para o c - estilo 2.0 (zero) para que se arredonda, seus cálculos de ponto flutuante pode ser diferente./QIfist não deverá ser usado se 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.

/QIfist é substituído. O compilador feitas melhorias significativas em float a velocidade de conversão int. Para obter mais informações, consulte Deprecated Compiler Options.

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

  1. Abra a caixa de diálogo Páginas de Propriedade do projeto. Para obter detalhes, consulte Como abrir páginas de propriedade do projeto.

  2. Clique na pasta C/C++.

  3. Clique na página de propriedades de Linha de Comando.

  4. Digite a opção do compilador na caixa de Opções Adicionais .

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

Consulte também

Referência

/Q Opções (operações de nível baixo)

Opções do compilador

Definindo opções do compilador