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 14:05
#64061 #64061
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=esskar,25.03.2006, 11:04]zu deinem 2: char *x kostet 4 bytes (auf einem 32bit system) auf dem stack. char x[] kostet 4 bytes im programspeicher.

extern *x kostet 4 bytes auf dem stack. extern x[] kostet nichts.
[...][/quote]
Also bei mir erzeugen sowohl "extern char *bla;" als auch "extern char bla[];" identischen Objektcode. "char bla[];" erzeugt als Definition einer globalen Variablen erwartungsgemäß einen Fehler, "char *bla;" funktioniert und erzeugt einen Pointer in einem Datensegment.

Ehrlich gesagt wüsste ich auch nicht, wieso ein vernünftiger C-Compiler das anders handhaben sollte. Insbesondere habe ich es noch nie gesehen, dass ein C-Compiler für eine globale Variable Speicher auf dem Stack reserviert. Das wäre ja auch ziemlich dumm, weil man dann nicht andere Objekte gegen diese Variable linken könnte.
When C++ is your hammer, every problem looks like your thumb.

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