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


/QIfist (Suppress _ftol)

Обновлен: Ноябрь 2007

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

 /QIfist

Заметки

6d9xx1d2.alert_note(ru-ru,VS.90).gifПримечание.

Параметр /QIfist доступен только в компиляторе целевого x86; параметр этого компилятора недоступен в целевых компиляторах x64 или Itanium.

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

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

  • Округление до самого маленького отрицательного значения

  • Округление до самого маленького положительного значения

  • Округление до нуля

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

Параметры /arch (минимальная архитектура ЦП) и /QIfist нельзя использовать для одного и того же объекта компиляции.

6d9xx1d2.alert_note(ru-ru,VS.90).gifПримечание.

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

В Visual C++ 2005 присутствует устаревший параметр /QIfist. Благодаря работе компилятора, скорость преобразования от float до int значительные улучшилась. Дополнительные сведения см. в разделе Нерекомендуемые параметры компилятора в Visual C++ 2005.

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

  1. Откройте диалоговое окно проекта Страницы свойств. Дополнительные сведения см. в разделе Открытие свойств страниц проекта.

  2. Выберите папку C/C++.

  3. Выберите страницу свойств Командная строка.

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

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

См. также

Ссылки

Параметры /Q (низкоуровневые операции)

Параметры компилятора

Настройка параметров компилятора