c't

c't-Projekte - Mailinglisten


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: AW: [ct-bot] neues Pfadplanungs-Verhalten nach der Map

Absender: Timo Sandmann
Datum: Do, 03.05.2007 16:59:10
In-reply-to: <000101c78ced$19993fc0$fe78a8c0@mexpnew>
References: <000101c78ced$19993fc0$fe78a8c0@mexpnew>


Hallo,

Am 02.05.2007 um 21:07 schrieb Frank Menzel:
Die Sache mit den volatile-Variablen-ehrlich gesagt keine Ahnung
warum. Weil das so woanders wohl auch überall gemacht wurde. Aber da bin
ich leider nicht der große C-Spezi-durch die ganze Bot-Materie bin ich
aber auf dem Wege dahin :-)

nur kurz zur Information: Das Schlüsselwort "volatile" zwingt den Compiler dazu, vor *jedem* Lesezugriff auf eine Variable dessen Inhalt aus dem Speicher (RAM) zu holen und ihn nach *jedem* Schreibzugriff auch dorthin zurückzuschreiben. Das kann von Vorteil sein, wenn man sicherstellen möchte, dass ein Wert garantiert aktuell ist (weil er für den Compiler transparent geändert wurde, z.B. durch eine Interrupt Service Routine). Die Verwendung von volatile führt aber i.d.R. zu größerem Code und langsamerer Ausführung. Übrigens löst volatile das Problem auf einer 8 Bit-Architektur nur bei Variablen, die 8 Bit groß sind, vollständig. Laden und Speichern eines (u)int16 oder 32 kann trotzdem noch unterbrochen werden.

Gruß Timo