Programmiertrick

Programmiertrick

Ein Programmiertrick ist eine Vorgehensweise in Computerprogrammen, bei der durch nicht vorgesehenes Ausnutzen von Eigenheiten der Programmiersprache bzw. der Soft- und Hardware-Umgebung Effekte erzielt werden, die bei lehrbuchmäßiger Programmierung größeren Aufwand erfordern würden oder gar nicht möglich wären. Die Grenze zwischen "konventioneller" Programmierung und Programmiertrick ist aber fließend.

Eingesetzt werden Programmiertricks zu vielfältigen Zwecken:

  • Schnellerer Programmablauf (Performance)
  • Geringerer Speicherverbrauch
  • Umgehung von Soft- und Hardware-Fehlern (Bugs)
  • Umgehung von Beschränkungen der Soft- und Hardware-Umgebung
  • Verschleierung von Programmfunktionen (z. B. zur Realisierung eines Kopierschutzes)
  • Kompakterer Quellcode (Einsparung von Tipparbeit)

Besonders verbreitet ist die Nutzung von Programmiertricks in der Demoszene, insbesondere wenn es um das Ausreizen der Fähigkeiten älterer Computersysteme (C64, Amiga) oder mobiler Endgeräte (z. B. PDA) geht. Aufgrund der vielen Nachteile, u. a. schlecht verständlicher Code, eingeschränkte Portabilität und die Gefahr von Kompatibilitätsproblemen, sollte die Nutzung von Tricks in "normalen" Programmen dagegen möglichst vermieden werden.

Beispiele für Programmiertricks

Der XOR-Trick 
Der x86-Assemblersprachenbefehl "XOR EAX, EAX" führt vordergründig eine XOR-Operation des EAX-Registers (auch andere Register sind möglich) auf sich selbst aus, der Inhalt des Registers wird dabei auf 0 (Null) gesetzt. Damit ist dieser Befehl äquivalent zu "MOV EAX, 0", spart aber 4 Bytes an Speicherplatz.
Illegale Befehle 
Ältere Prozessorarchitekturen, z. B. die 6502-Familie, konnten Befehle ausführen, die in der Spezifikation der CPU nicht vorkamen. Durch Ausnützung dieser Befehle konnten häufig Speicherplatz und Taktzyklen eingespart werden, dafür bestand aber die Gefahr, dass der Code auf anderen Versionen des gleichen Prozessors nicht mehr funktioniert.
Selbstmodifizierender Maschinencode 
Dieser Trick wird bei modernen Prozessoren nicht zur Performance-Steigerung benutzt (tatsächlich führt er sogar zu einer massiven Verlangsamung), ist aber für Verschleierungsmechanismen geeignet.
Hacker-Folklore
In einer bekannten im Usenet veröffentlichten Geschichte (The Story of Mel) über den archetypischen „Echten Programmierer“ Mel Kaye nutzt dieser u. a. einen Überlauf zur Steuerung einer Schleife.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • C65 — mit geöffnetem Gehäuse …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”