Thread Perl und Garbage collector: Warum macht der Perl GC nichts?
(14 answers)
Opened by Gast at 2006-03-24 18:37
[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.
|