Поделиться через


/QIfist (подавление _ftol)

Устарело. Подавляет вызов вспомогательной функции _ftol при необходимости преобразования из типа с плавающей запятой в целочисленный тип.

Синтаксис

/QIfist

Замечания

Примечание.

/QIfist доступен только в компиляторе, предназначенном для x86. Этот параметр компилятора недоступен в компиляторах, предназначенных для x64 илиARM.

Помимо преобразования типа с плавающей запятой в целочисленный тип, _ftol функция обеспечивает циклический режим единицы с плавающей запятой (FPU) к нулю (усечение), задав биты 10 и 11 элемента управления. Это гарантирует, что преобразование из типа с плавающей запятой в целочисленный тип происходит, как описано стандартом ANSI C (дробная часть числа удаляется). При использовании /QIfist эта гарантия больше не применяется. Режим округления будет одним из четырех, как описано в справочных руководствах Intel:

  • Округление к ближайшей (даже числу, если равномерный)

  • Округление к отрицательной бесконечности

  • Округление к положительной бесконечности

  • Округление к нулю

Вы можете использовать функцию _control87, _controlfp __control87_2 C, чтобы изменить поведение округления FPU. Режим округления по умолчанию для FPU — "Округление к ближайшей". Использование /QIfist может повысить производительность приложения, но не без риска. Перед использованием кода , созданного с помощью /QIfist в рабочих средах, необходимо тщательно протестировать части кода, чувствительные к режиму округления.

/arch (x86) и /QIfist нельзя использовать в одном компиляторе.

Примечание.

/QIfist не действует по умолчанию, так как округляющие биты также влияют на округление с плавающей запятой (которая возникает после каждого вычисления), поэтому при установке флагов для округления в стиле C (к нулю) вычисления с плавающей запятой могут отличаться. Параметр /QIfist не следует использовать, если код зависит от ожидаемого поведения усечения дробной части числа с плавающей запятой. Если вы не уверены, не используйте /QIfist.

Параметр /QIfist устарел, начиная с Visual Studio 2005. Компилятор значительно улучшил скорость преобразования с плавающей запятой. Список устаревших параметров компилятора см. в разделе "Устаревшие" и "Удаленные параметры компилятора" в параметрах компилятора, перечисленных по категориям.

Установка данного параметра компилятора в среде разработки Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.

  2. Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.

  3. Введите параметр компилятора в поле Дополнительные параметры .

Установка данного параметра компилятора программным способом

См. также

Параметры /Q (низкоуровневые операции)
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC