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.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.