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



  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