Constant Folding

expressies met constante operanden kunnen tijdens het compileren worden geëvalueerd, waardoor de prestaties tijdens het compileren worden verbeterd en de code kleiner wordt door evaluatie tijdens het compileren te vermijden.

voorbeeld:

in het onderstaande codefragment kan de uitdrukking (3 + 5) tijdens het compileren worden geëvalueerd en vervangen door de constante 8.

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

hieronder ziet u het fragment van de code na constant vouwen.

int f (void){ return 8;} 

opmerkingen:

Constant vouwen is een relatief eenvoudige optimalisatie.

programmeurs schrijven over het algemeen geen expressies zoals (3 + 5) direct, maar deze expressies zijn relatief gebruikelijk na macro-expansie en andere optimalisaties zoals constante propagatie.

alle C-compilers kunnen integer constante expressies vouwen die aanwezig zijn na macro-uitbreiding (ANSI C-vereiste). De meeste C compilers kunnen integer constante expressies die na andere optimalisaties worden geà ntroduceerd vouwen.

sommige omgevingen ondersteunen verschillende drijvende-komma afrondingsmodi die dynamisch kunnen worden gewijzigd tijdens het draaien. In deze omgevingen moeten expressies zoals (1.0 / 3.0) tijdens het uitvoeren worden geëvalueerd als de afrondingsmodus niet bekend is tijdens het compileren.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.