Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
PD
unregistriert
Zitat
Adresse von cWert1 = 12ff78
Adresse von pcZeiger = 12ff78
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 |
int foo = 42; int * bar = &foo; cout << "Wert von foo: " << foo << '\n' << "Wert von bar: " << bar << '\n' << "Adresse von foo: " << &foo << '\n' << "Adresse von bar: " << &bar << '\n' << "Wert auf den bar verweist: " << *bar << '\n' |
Zitat
Du hast vollkommen recht,mit dem Memory Alignment innerhalb einer
Klasse oder von Strukturen,da stimmt das so wie du es gesagt hast.
Auch kann ich hier mit Pragma Pack(1) das Alignment ausschalten.
Das selbe hat 0x00000023 gestern auch gesagt.
Nur habe ich das Prob. das auf der Lokalen Ebene drei UCHAR Datentypen
trotzdem einen 4Byte Abstand zueinander haben,wo ich keinen anderen
Datentyp (also int,oder short Wert) dazwischen oder davor oder dannach
habe.
Sicaine
unregistriert
Zitat
Zum Stack,da verstehe ich nur nicht warum ich nur die Angleichung innerhalb einer Klasse oder Struktur mit Pragma Pack(1) deaktivieren kann und nicht innerhalb von Funktionen.Dieses müsste doch für interen Stack Angleichungen gelten,oder nicht.
Werbeanzeige