Stałe składanie
wyrażenia ze stałymi operandami mogą być ewaluowane w czasie kompilacji, poprawiając tym samym wydajność w czasie wykonywania i zmniejszając rozmiar kodu poprzez unikanie ewaluacji w czasie kompilacji.
przykład:
W poniższym fragmencie kodu wyrażenie (3 + 5) można obliczyć podczas kompilacji i zastąpić stałą 8.
int f (void){ return 3 + 5;}
Poniżej znajduje się fragment kodu po stałym składaniu.
int f (void){ return 8;}
uwagi:
ciągłe składanie jest stosunkowo łatwą optymalizacją.
Programiści zazwyczaj nie zapisują wyrażeń takich jak (3 + 5) bezpośrednio, ale wyrażenia te są stosunkowo powszechne po rozszerzeniu makr i innych optymalizacjach, takich jak stała propagacja.
wszystkie kompilatory C mogą składać wyrażenia stałe całkowite, które są obecne po rozszerzeniu makra (wymóg ANSI C). Większość kompilatorów C może składać wyrażenia stałe całkowite, które są wprowadzane po innych optymalizacjach.
niektóre środowiska obsługują kilka trybów zaokrąglania zmiennoprzecinkowego, które mogą być zmieniane dynamicznie w czasie wykonywania. W tych środowiskach wyrażenia takie jak (1.0 / 3.0) muszą być obliczane w czasie wykonywania, jeśli tryb zaokrąglania nie jest znany w czasie kompilacji.