Udostępnij za pośrednictwem


/QIfist (Pomijanie _ftol)

Przestarzałe. Pomija wywołanie funkcji _ftol pomocniczej, gdy wymagana jest konwersja typu zmiennoprzecinkowego na typ całkowity.

Składnia

/QIfist

Uwagi

Uwaga

/QIfist jest dostępny tylko w kompilatorze przeznaczonym dla x86; ta opcja kompilatora nie jest dostępna w kompilatorach przeznaczonych dla x64 lubARM.

Oprócz konwersji z typu zmiennoprzecinkowego na typ całkowity funkcja _ftol zapewnia tryb zaokrąglania jednostki zmiennoprzecinkowych (FPU) jest w kierunku zera (obcinanie), ustawiając bity 10 i 11 słowa sterującego. Gwarantuje to, że konwersja z typu zmiennoprzecinkowego na typ całkowity występuje zgodnie z opisem standardu ANSI C (część ułamkowa liczby jest odrzucana). W przypadku korzystania z /QIfist ta gwarancja nie ma już zastosowania. Tryb zaokrąglania będzie jednym z czterech, zgodnie z opisem w podręcznikach referencyjnych firmy Intel:

  • Zaokrąglaj w kierunku najbliższej (liczba parzysta, jeśli niezrównana)

  • Zaokrąglaj w kierunku nieskończoności ujemnej

  • Zaokrąglaj w kierunku nieskończoności dodatniej

  • Zaokrąglij w kierunku zera

Możesz użyć funkcji _control87, _controlfp, __control87_2 C w czasie wykonywania, aby zmodyfikować zachowanie zaokrąglania FPU. Domyślny tryb zaokrąglania FPU to "Zaokrąglanie w kierunku najbliższej". Użycie /QIfist może poprawić wydajność aplikacji, ale nie bez ryzyka. Należy dokładnie przetestować fragmenty kodu, które są wrażliwe na tryby zaokrąglania przed poleganiem na kodzie utworzonym za pomocą /QIfist w środowiskach produkcyjnych.

/arch (x86) i /QIfist nie można używać w tym samym compiland.

Uwaga

/QIfist nie działa domyślnie, ponieważ zaokrąglanie bitów wpływa również na zaokrąglanie zmiennoprzecinkowe do zmiennoprzecinkowego (co występuje po każdym obliczeniu), więc po ustawieniu flag dla zaokrąglania w stylu C (w kierunku zera) obliczenia zmiennoprzecinkowe mogą być inne. /QIfist nie należy używać, jeśli kod zależy od oczekiwanego zachowania obcięcia części ułamkowej liczby zmiennoprzecinkowej. Jeśli nie masz pewności, nie używaj /QIfist.

Opcja /QIfist jest przestarzała począwszy od programu Visual Studio 2005. Kompilator dokonał znaczących ulepszeń szybkości konwersji zmiennoprzecinkowej do int. Aby uzyskać listę przestarzałych opcji kompilatora, zobacz Przestarzałe i usunięte opcje kompilatora w opcjach kompilatora wymienionych według kategorii.

Aby ustawić tę opcję kompilatora w środowisku programowania Visual Studio

  1. Otwórz okno dialogowe Strony właściwości projektu. Aby uzyskać szczegółowe informacje, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilowania w programie Visual Studio).

  2. Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.

  3. Wpisz opcję kompilatora w polu Opcje dodatkowe .

Aby programowo ustawić tę opcję kompilatora

Zobacz też

/Q Opcje (Operacje na niskim poziomie)
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC