3 points par GN⁺ 2024-07-01 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Projet du week-end : s'amuser avec le langage C

  • Le langage C est simple mais puissant, au point de permettre d'écrire facilement un système d'exploitation complet
  • La syntaxe concise du langage C a influencé de nombreux langages apparus ensuite, comme Java ou Go
  • Il a aussi contribué à l'émergence de l'art de l'obfuscation de code

Le concours IOCCC

  • Le concours IOCCC est l'un des exemples les plus représentatifs de l'obfuscation de code
  • Les participations utilisent souvent des macros de préprocesseur déroutantes, un formatage illogique et des noms de variables peu utiles
  • Ce type de code est difficile à lire, mais le C peut être à la fois lisible et déroutant

L'instruction switch

  • L'instruction switch, comme if ou for, n'a pas besoin d'accolades
  • Sans accolades, elle ne peut contenir qu'une seule instruction
  • Une instruction switch est fondamentalement une forme sophistiquée de goto
  • L'initialisation de variables à l'intérieur d'un switch peut provoquer des comportements inattendus

Les labels case

  • Les labels case n'ont pas besoin d'être placés au niveau supérieur du bloc switch
  • Ils peuvent être utilisés avec une condition if (0)
  • Ils peuvent aussi fonctionner sans instruction break

Combiner else et if

  • Il est possible d'utiliser else et if pour remplacer une instruction switch
  • Plusieurs conditions peuvent être traitées même sans accolades

Extensions GNU

  • Il est possible d'obtenir l'adresse d'un label avec l'opérateur && et d'y sauter avec goto
  • Cela permet de remplacer une instruction switch

Remplacer la boucle for

  • Il est possible d'implémenter une boucle en utilisant des labels dans une déclaration de variable
  • C'est spécifique à GCC, mais cela permet tout de même d'écrire en C un code très original et déroutant

Conclusion

  • Le langage C offre la possibilité d'écrire un code très original et déroutant
  • Ce type de code est difficile à lire, mais il montre la puissance du langage C

L'avis de GN⁺

  • Cet article montre bien l'originalité et la complexité du langage C
  • Il est utile pour explorer les différentes possibilités d'utilisation du langage C
  • Son aspect artistique, comme l'obfuscation de code, est aussi intéressant
  • Les exemples utilisant les extensions GNU sont particulièrement uniques et créatifs
  • Il peut être un peu difficile pour les développeurs débutants qui apprennent le langage C

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.