3 Punkte von GN⁺ 2024-07-01 | Noch keine Kommentare. | Auf WhatsApp teilen

Wochenendprojekt: Mit C spielerisch Spaß haben

  • Die Sprache C ist einfach und zugleich mächtig, sodass sich problemlos ganze Betriebssysteme damit schreiben lassen
  • Die knappe Syntax von C hat viele nachfolgende Sprachen wie Java und Go beeinflusst
  • Sie hat auch zum Aufkommen der Kunst der Code-Verschleierung beigetragen

IOCCC-Wettbewerb

  • Der IOCCC-Wettbewerb ist ein repräsentatives Beispiel für Code-Verschleierung
  • Wettbewerbsbeiträge verwenden oft verwirrende Präprozessor-Makros, unlogische Formatierung und wenig hilfreiche Variablennamen
  • Solcher Code ist schwer zu lesen, aber C kann zugleich gut lesbar und verwirrend sein

switch-Anweisung

  • Die switch-Anweisung benötigt wie if oder for nicht zwingend geschweifte Klammern
  • Ohne geschweifte Klammern kann sie nur eine einzige Anweisung enthalten
  • Die switch-Anweisung ist im Grunde ein glorifiziertes goto
  • Variableninitialisierungen innerhalb einer switch-Anweisung können unerwartetes Verhalten auslösen

case-Labels

  • case-Labels müssen nicht auf der obersten Ebene eines switch-Blocks stehen
  • Sie lassen sich zusammen mit einer Bedingung wie if (0) verwenden
  • Sie können auch ohne break funktionieren

Kombination aus else und if

  • Mit else und if lässt sich eine switch-Anweisung ersetzen
  • Auch ohne geschweifte Klammern können mehrere Bedingungen verarbeitet werden

GNU-Erweiterungen

  • Mit dem &&-Operator lässt sich die Adresse eines Labels ermitteln und per goto anspringen
  • Damit kann eine switch-Anweisung ersetzt werden

Ersatz für for

  • Schleifen lassen sich mithilfe von Labels innerhalb einer Variablendeklaration implementieren
  • Das ist zwar GCC-spezifisch, zeigt aber, wie originell und verwirrend sich auch in C Code schreiben lässt

Fazit

  • C bietet die Möglichkeit, sehr originellen und verwirrenden Code zu schreiben
  • Solcher Code ist schwer zu lesen, zeigt aber die Stärke der Sprache C

Meinung von GN⁺

  • Dieser Artikel zeigt die Originalität und Komplexität der Sprache C sehr gut
  • Er ist nützlich, um die vielfältigen Einsatzmöglichkeiten von C zu erkunden
  • Auch die künstlerische Seite von Code-Verschleierung ist interessant
  • Die Beispiele mit GNU-Erweiterungen sind sehr ungewöhnlich und kreativ
  • Für Einsteiger, die C lernen, könnte das etwas schwierig sein

Noch keine Kommentare.

Noch keine Kommentare.