Plegado constante
Las expresiones con operandos constantes se pueden evaluar en tiempo de compilación, mejorando así el rendimiento en tiempo de ejecución y reduciendo el tamaño del código al evitar la evaluación en tiempo de compilación.
Ejemplo:
En el fragmento de código a continuación, la expresión (3 + 5) se puede evaluar en tiempo de compilación y reemplazarse por la constante 8.
int f (void){ return 3 + 5;}
A continuación se muestra el fragmento de código después del plegado constante.
int f (void){ return 8;}
Notas:
El plegado constante es una optimización relativamente fácil.
Los programadores generalmente no escriben expresiones como (3 + 5) directamente, pero estas expresiones son relativamente comunes después de la expansión de macros y otras optimizaciones como la propagación constante.
Todos los compiladores de C pueden plegar expresiones constantes enteras que están presentes después de la expansión de macro (requisito ANSI C). La mayoría de los compiladores de C pueden plegar expresiones constantes enteras que se introducen después de otras optimizaciones.
Algunos entornos admiten varios modos de redondeo de punto flotante que se pueden cambiar dinámicamente en tiempo de ejecución. En estos entornos, expresiones como (1.0 / 3.0) deben evaluarse en tiempo de ejecución si el modo de redondeo no se conoce en tiempo de compilación.