Piegatura costante

Le espressioni con operandi costanti possono essere valutate in fase di compilazione, migliorando così le prestazioni di runtime e riducendo le dimensioni del codice evitando la valutazione in fase di compilazione.

Esempio:

Nel frammento di codice sottostante, l’espressione (3 + 5) può essere valutata in fase di compilazione e sostituita con la costante 8.

int f (void){ return 3 + 5;} 

Di seguito è riportato il frammento di codice dopo la piegatura costante.

int f (void){ return 8;} 

Note:

La piegatura costante è un’ottimizzazione relativamente facile.

I programmatori generalmente non scrivono direttamente espressioni come (3 + 5), ma queste espressioni sono relativamente comuni dopo l’espansione delle macro e altre ottimizzazioni come la propagazione costante.

Tutti i compilatori C possono piegare le espressioni costanti intere presenti dopo l’espansione della macro (requisito ANSI C). La maggior parte dei compilatori C può piegare espressioni costanti intere che vengono introdotte dopo altre ottimizzazioni.

Alcuni ambienti supportano diverse modalità di arrotondamento in virgola mobile che possono essere modificate dinamicamente in fase di esecuzione. In questi ambienti, espressioni come (1.0 / 3.0) devono essere valutate in fase di esecuzione se la modalità di arrotondamento non è nota in fase di compilazione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.