Ich bin ja nicht so der Held was direkte Bytemanipulationen betrifft, aber ist das Ergebnis hier nicht immer das selbe nämlich 1?
Delphi-Quellcode:
const
Counter: Byte = 0;
begin
counter := counter shl 1;
if counter = 0 then counter := 1;
Aus Geschwindigkeitsgründen würde ich einfach nur
C.pixels[x,y] := clWhite;
schreiben.
Und welchen Sinn macht es
constanten änderbar zu machen?
Sherlock
Wie gesagt, ich habe mir das nicht ausgedacht. Aber ein gewisser Sinn wäre hier zu erkennen, indem man eine "globale" Variable hat, die aber nur in dieser Funktion zur Verfügung steht. Somit vermeidet man also die "globalen" Variablen, die an anderer Stelle von anderen Funktionen ungewollte verändert werden könnten.
Wie himitsu bereits schrieb ergibt es daher tatsächlich nicht jedesmal den gleichen Wert (weil der Zustand des letzten Aufrufs halt beibehalten wurde).
Aber zurück zum Thema ASLR: Anscheinend sind hier bislang noch keinem anderem Anwender Probleme mit ASLR untergekommen? Das wäre ja positiv...