From: "Bob Klungle" <bklungle@ix.netcom.com>
Subject: Re: memory management in Ada: tedious without GC?
Date: Sat, 17 May 2008 15:11:00 GMT
Date: 2008-05-17T15:11:00+00:00 [thread overview]
Message-ID: <8ACXj.3769$IK5.622@trnddc04> (raw)
In-Reply-To: 482E8A9D.5040401@obry.net
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1275 bytes --]
"Pascal Obry" <pascal@obry.net> wrote in message
news:482E8A9D.5040401@obry.net...
> jhc0033@gmail.com a �crit :
>> Did I misunderstand?
>
> You have already received a bunch of excellent answers. I'd like to point
> out that in Ada you have less need for dynamically allocated memory. Ada
> supports unconstraint types. Objects of such types when declared can be
> "allocated" on the stack and passed around (no heap usage). A simple
> example:
>
> type Vector is (Positive range <>) of Float;
>
> function Norm (V : in Vector) return Float;
>
> ...
>
> declare
> V : Vector (1 .. 100);
> R : Float;
> begin
> R := Norm (V);
> ...
>
> Not a single memory allocation. In C/C++ you'll need to dynamically
> allocate V on the heap, and then worry about freeing this memory.
>
> Pascal.
Actually, the same construct exists in c/c++.
Stack frame allocation only needs a block to allow object definitions (c++
does it almost anywhere).
To whit:
#include <stdio.h>
int main(void)
{
int x = 3;
int y = 7;
int z = 2;
printf("x, y, z: %0d, %0d, %0d\n", x, y, z);
{
int w = 9;
printf("x, y, z, w: %0d, %0d, %0d, %0d\n", x, y, z, w);
}
}
x, y, z: 3, 7, 2
x, y, z, w: 3, 7, 2, 9
next prev parent reply other threads:[~2008-05-17 15:11 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-16 17:44 memory management in Ada: tedious without GC? jhc0033
2008-05-16 18:56 ` Ludovic Brenta
2008-05-16 20:42 ` Maciej Sobczak
2008-05-16 21:45 ` Ivan Levashew
2008-05-16 22:59 ` Peter C. Chapin
2008-05-17 5:24 ` jhc0033
2008-05-17 7:50 ` Ivan Levashew
2008-05-16 23:05 ` Randy Brukardt
2008-05-19 3:50 ` Matthew Heaney
2008-05-19 7:55 ` Dmitry A. Kazakov
2008-05-19 13:18 ` Georg Bauhaus
2008-05-19 14:16 ` Dmitry A. Kazakov
2008-05-23 23:15 ` Robert A Duff
2008-05-24 0:45 ` Randy Brukardt
2008-05-24 8:25 ` Dmitry A. Kazakov
2008-05-24 16:14 ` Robert A Duff
2008-05-24 19:04 ` Dmitry A. Kazakov
2008-05-24 20:52 ` Robert A Duff
2008-05-25 8:12 ` Dmitry A. Kazakov
2008-05-25 11:28 ` Maciej Sobczak
2008-05-25 12:35 ` Robert A Duff
2008-05-26 8:16 ` Dmitry A. Kazakov
2008-05-24 19:39 ` Georg Bauhaus
2008-05-24 20:45 ` Robert A Duff
2008-05-19 8:35 ` Maciej Sobczak
2008-05-19 15:11 ` Matthew Heaney
2008-05-19 21:13 ` Maciej Sobczak
2008-05-23 23:03 ` Robert A Duff
2008-05-24 0:12 ` Adam Beneschan
2008-05-16 22:45 ` anon
2008-05-17 7:34 ` Pascal Obry
2008-05-17 15:11 ` Bob Klungle [this message]
2008-05-17 15:27 ` Pascal Obry
2008-05-17 16:18 ` Georg Bauhaus
2008-05-20 8:04 ` Ole-Hjalmar Kristensen
2008-05-20 8:01 ` Ole-Hjalmar Kristensen
2008-05-20 10:03 ` Martin Krischik
2008-05-17 17:23 ` Martin Krischik
2008-05-17 16:51 ` Maciej Sobczak
2008-05-17 17:45 ` Pascal Obry
2008-05-17 22:28 ` Samuel Tardieu
2008-05-18 7:03 ` Martin Krischik
2008-05-18 8:50 ` jhc0033
2008-05-18 9:31 ` Dmitry A. Kazakov
2008-05-18 14:10 ` Maciej Sobczak
2008-05-18 14:59 ` Dmitry A. Kazakov
2008-05-18 20:51 ` Maciej Sobczak
2008-05-19 8:36 ` Dmitry A. Kazakov
2008-05-18 15:03 ` Martin Krischik
2008-05-18 18:27 ` jhc0033
2008-05-19 4:12 ` Matthew Heaney
2008-05-19 8:39 ` Maciej Sobczak
2008-05-19 15:37 ` Matthew Heaney
2008-05-19 21:21 ` Maciej Sobczak
2008-05-19 23:02 ` Matthew Heaney
2008-05-19 10:27 ` Martin Krischik
2008-05-17 22:42 ` Peter C. Chapin
2008-05-18 6:58 ` Martin Krischik
2008-05-18 6:52 ` Martin Krischik
2008-05-18 14:16 ` Maciej Sobczak
2008-05-17 14:30 ` Brian Drummond
2008-05-17 16:47 ` Maciej Sobczak
2008-05-19 14:45 ` Brian Drummond
2008-05-20 7:42 ` Maciej Sobczak
2008-05-20 18:01 ` jayessay
2008-05-18 8:06 ` Simon Wright
2008-05-18 14:21 ` Maciej Sobczak
2008-05-18 20:48 ` Simon Wright
2008-05-19 14:40 ` Brian Drummond
2008-05-19 3:44 ` Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox