PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : volatile, mutable, asm



Giuly
12-08-2003, 13:30
Es gibt einige Schlüsselwörter (z.B. volatile, mutable, asm), die man als Anfänger getrost vergessen kann und die daher in diesem Buch nicht behandelt werden.


Ich hab das buch jetzt schon ganz durchgelesen und mich würde interessieren, wozu man diese "schlüsselwörter" benutzt. "asm" hat wohl was mit assembler zutun, den rest kann ich mir nicht erklären.

bischi
12-08-2003, 13:45
Was für ein Buch?

MfG Bischi

peschmae
12-08-2003, 13:49
schon mal das Buch "The Art of Assembly Language Programming" angeschaut?

Ich nicht.

http://cs.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html

vielleicht ist da was drin.

MfG Peschmä

wraith
12-08-2003, 13:50
Original geschrieben von bischi
Was für ein Buch?

Ich tippe mal ganz stark auf C++ ^^.

Also kurz:
volatile:
volatile zwingt den Compiler bei jedem Zugriff auf eine als volatile deklarrierte Variable,diese jedesmal aus dem Speicher zu lesen,anstatt bei aufeinanderfolgenden Zugriff auf diese,einen gecachten Wert zu verwenden.
Ein speichern in Registern wird damit untersagt.


ivolatile Uhr uhrzeit;
...
cout << uhrzeit << endl;
cout << uhrzeit << endl;

Es ist eher unwahrscheinlich,das sich der Wert von uhrzeit zwischen den beiden Aufrufen ändert,und ein agressiv optimierender Compiler könnte den Wert einmal auslesen,zwischen speichern,und beim nächsten Aufruf diesen Wert verwenden.
Aber da uhrzeit als volatile deklarriert ist,muß der Compiler Code generieren,der bei jedem Zugriff den aktuellen Wert aus dem Speicher liest.

mutable:
Mit mutable gibt man bei einem Klassenelement an,daß es so gespeichert werden muß,daß es immer verändert werden kann,auch wenn das Objekt selbst const ist


class Foo
{
int i;
mutable int bar;
void func() const {
i++; //Fehler const Methode darf Zustand des Objektes nicht verändern
bar++; /Ok. bar ist mutable
}
}


asm:
Ja,damit kann man Assembleranweisungen direkt im Code schreiben.

Giuly
12-08-2003, 14:34
Original geschrieben von bischi
Was für ein Buch?


C++ - echt einfach



Original geschrieben von peschmae
schon mal das Buch "The Art of Assembly Language Programming" angeschaut?

Ich nicht.

http://cs.smith.edu/~thiebaut/ArtOf...y/artofasm.html

vielleicht ist da was drin.

MfG Peschmä


nein, aber ich guck vielleicht trotzdem mal rein http://filb.yagb.de/chat/smilies/martin.gif

@wraith: Danke ^^

bischi
12-08-2003, 17:17
Dies bedeutet es in Java:


Das Schlüsselwort volatile wird verwendet, um anzuzeigen, daß Membervariablen asynchron, also außerhalb des aktuellen Threads, modifiziert werden können. Der Wert einer so deklarierten Variable wird daher bei jedem Zugriff erneut gelesen (anstatt möglicherweise direkt aus einem Register der virtuellen Maschine genommen zu werden). Die Verwendung von volatile ist eher ungebräuchlich. Es kann beispielsweise zur Sicherstellung der Datenintegrität beim Multithreading verwendet werden oder dient dazu, Zugriffe auf asynchron veränderliche Speicherstellen (etwa eine Echtzeituhr, auf die über eine Variable zugegriffen wird) stets aktuell zu halten.

Was ist das eigentlich für ein Smiley?

MfG Bischi

tuxipuxi
12-08-2003, 17:40
Original geschrieben von bischi


Was ist das eigentlich für ein Smiley?

MfG Bischi

mit einem einfachen rechtsklick->properties haettest du dir diese frage selbst beantworten koennen.

bischi
13-08-2003, 17:08
Danke, soweit hab ich das auch schon rausgefunden ;) .

Aber: Wie kann ich so ein Smiley direkt in den Text einbinden? (Bei mir hat das nie recht funktioniert).

MfG Bischi


(du kannst das mit aendern ausprobieren, brauchst kein neues posting)
Du bist wohl neidisch, dass ich 60 Postings mehr habe?!!! Du wirst mich eh nicht einholen (jetzt weiss ich auch, warum du auf jeden Beitrag von mir ganz hartnäckig ne Antwort schreibst...)

MfG Bischi 2.x

http://www.geocities.com/dominikbischoff/auge2.gif http://www.geocities.com/dominikbischoff/auge2.gif

tuxipuxi
13-08-2003, 19:30
soweit ich weiss reicht da ein klick auf "IMG" in dem vB Code abschnitt.

(du kannst das mit aendern ausprobieren, brauchst kein neues posting)

peschmae
14-08-2003, 14:00
ich finds grässlich so :o

da zitiert Bischi tuxipuxi bevor Tuxipuxi die zitierte Aussage macht. Das finde ich echt unübersichtlich und verwirrend.

MfG Peschmä

bischi
14-08-2003, 17:41
Ich auch, da Tuxipuxi mich zum x-ten Mal jedoch auffordert, keinen neuen Post für jedes Bisschen zu machen, hab ich mich mal an seine Anweisung gehalten und auf Reaktionen gewartet.

Diese fällt sehr zu meiner Zufriedenheit und trifft auf meine Vermutung zu, dass ein neuer Post wohl kein Luxus wäre.

MfG Bischi

peschmae
14-08-2003, 18:05
das hast du absichtlich gemacht - gibs zu :D
hat mich aber echt verwirrt :)

aber er ist wirklich extrem eifersüchtig :p

MfG Peschmä