IANAL (I Am Not A Linguist), mais quand j’entends du québécois, je ne comprends pas tout, mais je comprends. Mais qu’en est-il des dialectes du langage C ? Car oui, le langage C a des dialectes, et nous allons voyager un peu à travers l’un d’entre eux, le dialecte GNU, supporté principalement par GCC, mais aussi, en partie, par Clang.
Si on essaie de compiler le code suivant avec le compilateur Clang en lui demandant d’être pédant :
On obtient un message d’avertissement :
Clang a compris le sens de ce code, mais ce code n’est pas standard. D’ailleurs est-ce que toi, lecteur, tu comprends sa signification ? Si l’argument entre le point interrogation et le point-virgule est omis, il prend pour valeur le résultat de l’évaluation de la condition, dans notre cas arg. En ce sens, cela fournit une syntaxe assez proche de l’opérateur or en Python.
Dans la suite de cet article, nous explorerons plusieurs constructions propres au dialecte GNU C, tel que documenté dans https://gcc.gnu.org/onlinedocs/gcc/C-Extensions.html, en essayant de retrouver à chaque fois une construction...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première