comp.lang.ada
 help / color / mirror / Atom feed
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





  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