From: mfeldman@seas.gwu.edu (Michael Feldman)
Subject: Re: Addressing functions
Date: 13 Dec 1994 20:48:04 -0500
Date: 1994-12-13T20:48:04-05:00 [thread overview]
Message-ID: <3clisk$9th@felix.seas.gwu.edu> (raw)
In-Reply-To: 3citrc$bb5@earth.usa.net
In article <3citrc$bb5@earth.usa.net>, Bill Buckley <wbuckley@earth> wrote:
>
>High Ada lovers, I've got a question on storing subprogram address in
>Ada. I know I can get the address of a subprogram via the ADDRESS
>attribute in Ada but can not figure a way to use it. I don't have any
>immediate need for such a procedure but it has my old C-C++ courisity
>wondering. For instance if I were to have an array of subprogram addresses
>A(1..2) => (1 => Print1'ADDRESS,
> 2 => Print2'ADDRESS);
>how could I implement the calling these functions (note : I know the
>syntax above is wrong but can't get this simple editor to back up to
>change it). I have heard from several other Ada programmers that this
>may not be possible.
You can usually get something reasonably meaningful by casting the address
to an integer. Instantiate Unchecked_Conversion:
FUNCTION AddressToInt IS NEW Unchecked_Conversion
(Source => System.Address, Target => Integer);
you can then use a normal Integer_IO instance to display it. If the
instance is called My_Int_IO, then
My_Int_IO.Put(Item => AddressToInt(Print1'Address), Base => 16);
should display it nicely in hexadecimal.
Mike Feldman
next prev parent reply other threads:[~1994-12-14 1:48 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
1994-12-13 1:36 Addressing functions Bill Buckley
1994-12-13 10:14 ` Robert I. Eachus
1994-12-14 13:59 ` Theodore E. Dennison
1994-12-16 14:18 ` Arthur Evans Jr
1994-12-17 17:27 ` Robert Dewar
1994-12-17 17:32 ` Robert Dewar
1994-12-18 6:44 ` Bill Buckley
1994-12-16 16:56 ` Robert Dewar
1994-12-13 19:04 ` Bob Duff
1994-12-14 1:48 ` Michael Feldman [this message]
1994-12-16 14:53 ` Robert Dewar
1994-12-17 7:23 ` Addressing functions (long) Michael M. Bishop
1994-12-18 6:53 ` Bill Buckley
1994-12-14 12:33 ` Addressing functions Mitch Gart
1994-12-15 16:26 ` Erich A. Pfeiffer
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox