Neustálé Skládání
Výrazy s konstantními operandy mohou být vyhodnoceny v době překladu, čímž se zlepší run-time výkon a snížení velikosti kódu o vyhýbání se hodnocení v čase kompilace.
příklad:
v níže uvedeném fragmentu kódu lze výraz (3 + 5) vyhodnotit v době kompilace a nahradit konstantou 8.
int f (void){ return 3 + 5;}
níže je fragment kódu po konstantním skládání.
int f (void){ return 8;}
poznámky:
konstantní skládání je relativně snadná optimalizace.
Programátoři obvykle nemají psát výrazy jako (3 + 5) přímo, ale tyto projevy jsou poměrně časté po makro rozšiřování a další optimalizace jako konstanta šíření.
všechny kompilátory C mohou skládat celočíselné konstantní výrazy, které jsou přítomny po rozšíření makra (požadavek ANSI C). Většina kompilátorů C může skládat celočíselné konstantní výrazy, které jsou zavedeny po jiných optimalizacích.
některá prostředí podporují několik režimů zaokrouhlování s plovoucí desetinnou čárkou, které lze dynamicky měnit za běhu. V těchto prostředích musí být výrazy jako (1.0 / 3.0) vyhodnoceny za běhu, pokud není režim zaokrouhlování v době kompilace znám.