Article View: de.comp.gnu
Article #31Re: was macht alloca?
From: Heike C Zimmerer
Date: Wed, 02 Sep 1992 18:25
Date: Wed, 02 Sep 1992 18:25
31 lines
1667 bytes
1667 bytes
In article <1992Sep01.065949.23504@rubikon.han.de> toad@rubikon.han.de
(Peter Cleve) writes:
>Wenn du du Block durch Function austauscht liegst du richtig.
>Nur absolut bescheuerte Compiler werden Variablen die lokal fuer einen
>Block definiert sind beim Blockeintritt/austritt anlegen/loeschen.
So bescheuert finde ich das nicht. Das Anlegen/Loeschen kostet nicht viel
Assemblerinstruktionen (hier ists genau eine (1)).
Neben dem Scope gibt es aber noch einen wichtigen Grund, Variable
in einem lokalen Block zu definieren: Speicherplatz.
Bei einer Konstruktion der Form
if(..)
{
char a[100000];
:
}
else
{
int i[100000];
:
}
muesste Dein Compiler die Laenge aller so deklarierten Arrays
fuer die Dauer der ganzen function im lokalen Stack freihalten.
Wenn das mein Compiler machen wuerde, waers fuer mich schon ein
Grund, den Hersteller anzumeckern.
--
Heike C. Zimmerer hcz@reto.stgt.sub.org
reto Industrieelektronik GmbH Kornbergstr. 18 W-7000 Stuttgart 1
Technical Details
Message-ID:
<5180@reto.stgt.sub.org>Path:
arc1-ca.pugleaf.net!sparky!uunet!gossip.pyramid.com!decwrl!sdd.hp.com!nigel.msen.com!yale.edu!ira.uka.de!Germany.EU.net!rz.uni-hildesheim.de!agsc!nadia!aragon.stgt.sub.org!reto!hczReferences:
<1992Aug19.082419.13150@newsserver.rrzn.uni-hannover.de> <920829440@monad.swb.de> <SPACE.92Aug31103804@ncc1701.stgt.sub.org> <1992Sep01.065949.23504@rubikon.han.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!gossip.pyramid.com!decwrl!sdd.hp.com!nigel.msen.com!yale.edu!ira.uka.de!Germany.EU.net!rz.uni-hildesheim.de!agsc!nadia!aragon.stgt.sub.org!reto!hcz From: hcz@reto.stgt.sub.org (Heike C Zimmerer) Newsgroups: de.comp.gnu Subject: Re: was macht alloca? Message-ID: <5180@reto.stgt.sub.org> Date: 2 Sep 92 18:25:55 GMT References: <1992Aug19.082419.13150@newsserver.rrzn.uni-hannover.de> <920829440@monad.swb.de> <SPACE.92Aug31103804@ncc1701.stgt.sub.org> <1992Sep01.065949.23504@rubikon.han.de> Organization: reto GmbH Lines: 31