Speicher belegung und lücken
Verfasst: Sa Feb 05, 2022 9:11 pm
Hallo zusammen,
ich habe ein paar Verständnisfragen, undzwar werden die Variablen in der Reihenfolge der Definition im Hauptspeicher abgelegt? Liegen die Variablen direkt hintereinander oder gibt es Lücken? Falls es Lücken gibt, wo liegen sie? Wie viel Speicher belegen die Variablen insgesamt, also inklusive eventueller Lücken? Wie berechne ich diese Lücken? Ich weiß, dass Lücken entstehen können aber wie kann ich sowas ausrechnen und ist es Datenmodell abhängig? "ILP32", "LP64", "LLP64"
Aufgabe1 git:master ❯ ./aufgabe1 | sort -r
Es handelt sich um ein LP64-Datenmodell
Adresse Groese Typ Name Wert
0x7ffc22609a14 4 Int i -33
0x7ffc22609a08 8 Long Int li -5
0x7ffc22609a00 8 Long Long Int lli -11
0x7ffc226099fc 4 Unsigned Int ui 14
0x7ffc226099f0 8 Unsigned Long Int uli 77
0x7ffc226099e8 8 Unsigned Long Long Int ulli 1200
0x7ffc226099e6 2 Short sh 1
0x7ffc226099e4 2 Unsigned Short us 11
0x7ffc226099e0 4 Float f 3.100000
0x7ffc226099d8 8 Double d 3.300000
0x7ffc226099c0 16 Long Double ld 3.330000
0x7ffc226099bf 1 Char c c
0x7ffc226099be 1 Unsigned Char uc a
0x7ffc226099bd 1 Bool b 1
0x5654ae8d3ac0 8 String s Hallo
ich habe ein paar Verständnisfragen, undzwar werden die Variablen in der Reihenfolge der Definition im Hauptspeicher abgelegt? Liegen die Variablen direkt hintereinander oder gibt es Lücken? Falls es Lücken gibt, wo liegen sie? Wie viel Speicher belegen die Variablen insgesamt, also inklusive eventueller Lücken? Wie berechne ich diese Lücken? Ich weiß, dass Lücken entstehen können aber wie kann ich sowas ausrechnen und ist es Datenmodell abhängig? "ILP32", "LP64", "LLP64"
Aufgabe1 git:master ❯ ./aufgabe1 | sort -r
Es handelt sich um ein LP64-Datenmodell
Adresse Groese Typ Name Wert
0x7ffc22609a14 4 Int i -33
0x7ffc22609a08 8 Long Int li -5
0x7ffc22609a00 8 Long Long Int lli -11
0x7ffc226099fc 4 Unsigned Int ui 14
0x7ffc226099f0 8 Unsigned Long Int uli 77
0x7ffc226099e8 8 Unsigned Long Long Int ulli 1200
0x7ffc226099e6 2 Short sh 1
0x7ffc226099e4 2 Unsigned Short us 11
0x7ffc226099e0 4 Float f 3.100000
0x7ffc226099d8 8 Double d 3.300000
0x7ffc226099c0 16 Long Double ld 3.330000
0x7ffc226099bf 1 Char c c
0x7ffc226099be 1 Unsigned Char uc a
0x7ffc226099bd 1 Bool b 1
0x5654ae8d3ac0 8 String s Hallo