Du coup, j'ai regardé ce truc que je ne connaissais pas. defer c'est une nouvelle fonctionnalité pour le C qui vient d'être ajouté à GCC et Clang.
Cela permet d'exécuter un bloc à la fin d'un bloc en logique FILO.
Je vous remets l'exemple du blog ci-dessous.
{void*p=malloc(25);mtx_lock(&mut);staticuint64_tcritical=0;critical++;while(something)cnd_wait(&cond,&mut);...usepunderprotectionofmut...{critical--;}// from 3rd defer{mtx_unlock(&mut);}// from 2nd defer{free(p);}// from 1st defer}
# C'est quoi defer ?
Posté par alkino . En réponse au lien defer en C avec gcc et clang. Évalué à 2.
Du coup, j'ai regardé ce truc que je ne connaissais pas.
defer c'est une nouvelle fonctionnalité pour le C qui vient d'être ajouté à GCC et Clang.
Cela permet d'exécuter un bloc à la fin d'un bloc en logique FILO.
Je vous remets l'exemple du blog ci-dessous.
Équivalent à :