player1
Mitglied
Hallo
Also ich beschäftige mich gerade mit C++. Habe vorher viel mit Java gearbeitet und wollte jetzt mit C++ langsam weitermachen.
Also ich habe dieses Programm:
Die Ausgabe ist klar sieht dann zB so aus:
0x22ff50: Weizen
Nun habe ich aus Interesse einen Hex-Editor installiert, der mir den kompletten Inhalt des Arbeitsspeichers anzeigen kann.
In der ewig langen Liste findet man links also immer den "Offset" ( Offset == Speicheradresse ? ) und in den Zellen in der Mitte den Inhalt in Hex-Form in 2er- Blöcken (8bit).Ganz rechts ist dann eine Zelle, die wohl die dementsprechenden ASCII-Zeichen ausgibt.
Meine naive Annahme war nun, das ich meinen String bier mit dem Inhalt "Weizen" nun bei Offset 0x22ff50 (Programm läuft noch) finden würde. Das war leider nicht der Fall.
Also meine Frage ist eigentlich: Was hat es mit der Adresse 0x22ff50 auf sich und wie ist der Zusammenhang zum Arbeitsspeicher?
Also ich beschäftige mich gerade mit C++. Habe vorher viel mit Java gearbeitet und wollte jetzt mit C++ langsam weitermachen.
Also ich habe dieses Programm:
Code:
int main()
{
string bier = "Weizen";
cout << &bier << ": " << bier << endl;
cin.get();
}
0x22ff50: Weizen
Nun habe ich aus Interesse einen Hex-Editor installiert, der mir den kompletten Inhalt des Arbeitsspeichers anzeigen kann.
In der ewig langen Liste findet man links also immer den "Offset" ( Offset == Speicheradresse ? ) und in den Zellen in der Mitte den Inhalt in Hex-Form in 2er- Blöcken (8bit).Ganz rechts ist dann eine Zelle, die wohl die dementsprechenden ASCII-Zeichen ausgibt.
Meine naive Annahme war nun, das ich meinen String bier mit dem Inhalt "Weizen" nun bei Offset 0x22ff50 (Programm läuft noch) finden würde. Das war leider nicht der Fall.
Also meine Frage ist eigentlich: Was hat es mit der Adresse 0x22ff50 auf sich und wie ist der Zusammenhang zum Arbeitsspeicher?
Zuletzt bearbeitet: