/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
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).
Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.
Wpisz opcję kompilatora w polu Opcje dodatkowe .
Aby programowo ustawić tę opcję kompilatora
- Zobacz: AdditionalOptions.
Zobacz też
/Q Opcje (Operacje na niskim poziomie)
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC