Compartir a través de


/QIfist (Suprimir _ftol)

Obsoleto. Suprime la llamada de la función del asistente _ftol cuando se requiere la conversión de un tipo de punto flotante a un tipo entero.

Sintaxis

/QIfist

Comentarios

Nota:

/QIfist solo está disponible en el compilador con destino en x86; esta opción del compilador no está disponible en los compiladores con destino en x64 o ARM.

Además de realizar la conversión de un tipo de punto flotante a un tipo entero, la función _ftol garantiza que el modo de redondeo de la unidad de punto flotante (FPU) se hace a cero (se trunca) mediante el establecimiento de los bits 10 y 11 de la palabra de control. Esto garantiza que la conversión de un tipo de punto flotante en tipo entero se realiza como se describe en la norma ANSI C (la parte fraccionaria del número se descarta). Si se usa /QIfist, esta garantía ya no es aplicable. El modo de redondeo será uno de los cuatro documentados en los manuales de referencia de Intel:

  • Redondeo al más próximo (número par si está equidistante)

  • Redondeo a infinito negativo

  • Redondeo a infinito positivo

  • Redondeo a cero

Puede usar la función en tiempo de ejecución de C _control87, _controlfp, __control87_2 para modificar el comportamiento de redondeo de la FPU. El modo de redondeo predeterminado de la FPU es "Redondeo al más próximo". El uso de /QIfist puede mejorar el rendimiento de la aplicación, pero no está exento de riesgos. Compruebe exhaustivamente las partes del código que sean sensibles al modo de redondeo antes de lanzar un código compilado con /QIfist a los entornos de producción.

/arch (x86) y /QIfist no pueden utilizarse en la misma operación de compilación.

Nota:

/QIfist no está en vigor de manera predeterminada, ya que los bits de redondeo también afectan al redondeo de punto flotante a punto flotante (que se produce después de cada cálculo), de modo que, cuando se establecen las marcas para redondeo de estilo C (a cero), los cálculos de punto flotante podrían ser diferentes. /QIfist no debe usarse si el código depende del comportamiento esperado de truncar la parte fraccionaria del número de punto flotante. Si no está seguro, no use /QIfist.

La opción /QIfist está en desuso a partir de Visual Studio 2005. Se han realizado mejoras importantes en el compilador en cuanto a la velocidad de conversión de los tipos float a int. Para ver una lista de las opciones del compilador en desuso, consulte Opciones del compilador en desuso y eliminadas en Opciones del compilador enumeradas por categoría.

Para establecer esta opción del compilador en el entorno de desarrollo de Visual Studio

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.

  2. Seleccione la página de propiedades Propiedades de configuración>C/C++>Línea de comandos.

  3. Escriba la opción del compilador en el cuadro Opciones adicionales .

Para establecer esta opción del compilador mediante programación

Consulte también

/Q (Opciones) (Operaciones de bajo nivel)
Opciones del compilador de MSVC
Sintaxis de la línea de comandos del compilador MSVC