Heim

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ößerem 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:

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.