Thread Perl und Garbage collector: Warum macht der Perl GC nichts? (14 answers)
Opened by Gast at 2006-03-24 18:37

murphy
 2006-03-25 16:27
#64064 #64064
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=esskar,25.03.2006, 13:41][...]
aber was macht den bei dir folgendes?
[...][/quote]

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Script started on Sat Mar 25 13:54:39 2006
~ $ cat >foo.c
char *x = "foo";
char y[8];
^D
~ $ cat >bar.c
extern char *x;
extern char y[8];
^D
~ $ gcc -Wall -O3 -g0 -S foo.c
~ $ gcc -Wall -O3 -g0 -S bar.c
~ $ cat foo.S
    .section __TEXT,__text,regular,pure_instructions
    .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
    .machine ppc
    .globl _x
    .cstring
    .align 2
LC0:
    .ascii "foo\0"
    .data
    .align 2
_x:
    .long    LC0
.comm _y,8
    .subsections_via_symbols
~ $ cat bar.S
    .section __TEXT,__text,regular,pure_instructions
    .section __TEXT,__picsymbolstub1,symbol_stubs,pure_instructions,32
    .machine ppc
    .subsections_via_symbols
~ $ exit

Script done on Sat Mar 25 13:56:19 2006


Die Stringdaten selber werden also im Nur-Lesen-Bereich der statisch gemappten Daten abgelegt, der Pointer auf die Stringdaten und das Array im statisch gemappten Datenbereich.

Die externen Symbole erzeugen keinen Code / Daten, sondern sind nur als Deklarationen für den Compiler wichtig.

Ich habe zwar gerade kein Windows oder Linux zur Hand um zu vergleichen, meine mich aber zu erinnern, dass das zumindest unter Linux ähnlich aussieht.

(edit: typescript Formatierung lesbarer gemacht)\n\n

<!--EDIT|murphy|1143297282-->
When C++ is your hammer, every problem looks like your thumb.

View full thread Perl und Garbage collector: Warum macht der Perl GC nichts?