Le pliage constant est des optimisations liées au compilateur utilisé par de nombreux compilateurs modernes. Le pliage constant est un processus de reconnaissance et d'évaluation d'une expression statique à compiler plutôt que de les informer au moment de l'exécution.
Il semble que GCC a une limitation de pliage constant complexe. Voici un exemple: static inline unsigned int DJBHash(const char *str)
{
int i;
unsigned int hash = 5381;
for(i = 0; i ...