Share via


/QIfist (elimina _ftol)

Deprecato. Disattiva la chiamata della funzione helper _ftol quando è necessario eseguire una conversione da un tipo a virgola mobile a un tipo integrale.

Sintassi

/QIfist

Osservazioni:

Nota

/QIfist è disponibile solo nel compilatore destinato a x86. Questa opzione del compilatore non è disponibile nei compilatori destinati a x64 oARM.

Oltre a eseguire la conversione da un tipo a virgola mobile a un tipo integrale, la _ftol funzione garantisce che la modalità di arrotondamento dell'unità a virgola mobile (FPU) sia verso zero (troncamento), impostando i bit 10 e 11 della parola di controllo. Ciò garantisce che la conversione da un tipo a virgola mobile a un tipo integrale venga eseguita come descritto dallo standard ANSI C (la parte frazionaria del numero viene rimossa). Quando si usa /QIfist, questa garanzia non si applica più. La modalità di arrotondamento sarà una delle quattro descritte nei manuali di riferimento Intel:

  • Arrotondamento verso il più vicino (numero pari se equidistante)

  • Arrotonda verso l'infinito negativo

  • Arrotonda verso l'infinito positivo

  • Arrotondamento verso zero

È possibile usare il _control87, _controlfp, __control87_2 funzione runtime C per modificare il comportamento di arrotondamento della FPU. La modalità di arrotondamento predefinita della FPU è "Arrotondamento verso il più vicino". L'uso di /QIfist può migliorare le prestazioni dell'applicazione, ma non senza rischi. È consigliabile testare accuratamente le parti del codice sensibili alle modalità di arrotondamento prima di basarsi sul codice compilato con /QIfist negli ambienti di produzione.

/arch (x86) e /QIfist non possono essere usati nello stesso compiland.

Nota

/QIfist non è attivo per impostazione predefinita perché anche i bit di arrotondamento a virgola mobile influiscono sull'arrotondamento a virgola mobile (che si verifica dopo ogni calcolo), quindi quando si impostano i flag per l'arrotondamento in stile C (verso zero), i calcoli a virgola mobile potrebbero essere diversi. /QIfist non deve essere usato se il codice dipende dal comportamento previsto del troncamento della parte frazionaria del numero a virgola mobile. Se non si è certi, non usare /QIfist.

L'opzione /QIfist è deprecata a partire da Visual Studio 2005. Il compilatore ha apportato miglioramenti significativi alla velocità di conversione float-to-int. Per un elenco delle opzioni del compilatore deprecate, vedere Opzioni del compilatore deprecate e rimosse in Opzioni del compilatore elencate per categoria.

Per impostare l'opzione del compilatore nell'ambiente di sviluppo di Visual Studio

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.

  3. Digitare l'opzione del compilatore nella casella Opzioni aggiuntive .

Per impostare l'opzione del compilatore a livello di codice

Vedi anche

Opzioni /Q (operazioni di basso livello)
Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC