From: "M. A. Alves" <maa@liacc.up.pt>
To: <comp.lang.ada@ada.eu.org>
Subject: Re: Ada Address = C pointer ?
Date: Tue, 30 Oct 2001 09:58:12 +0000 (GMT)
Date: 2001-10-30T09:58:12+00:00 [thread overview]
Message-ID: <mailman.1004435945.8449.comp.lang.ada@ada.eu.org> (raw)
In-Reply-To: <ttre7mgvgm8pe4@corp.supernews.com>
On Mon, 29 Oct 2001, Matthew Heaney wrote:
> "M. A. Alves" <maa@liacc.up.pt> wrote in message
> news:mailman.1004357020.21840.comp.lang.ada@ada.eu.org...
> > You mean use Address_To_Access conversion? Because what I have is C
> > pointers I need to interface with. I am using Chars_Ptr because it has a
> > Null_Ptr value and I need to test for, and pass, NULL. (And in C char *
> > is assuredly able to point to anything.) But I am indeed considering
> > using Address et al., and Address to Access conversion.
>
> . . .
>
> I do NOT think you need to use System.Address and Addr_To_Acc_Conv. The
> types declared in C.Strings should be adequate.
I am in fact using Address and Access_To_Address_Conversions(*) because I
simply did not find out how to do the trick otherwise. For example, the C
function is returning an array of unsigned long. I want to access that
array without copying it. How can you do that with Interfaces.C.Strings
or even Interfaces.C.Pointers ?
Also, I did not found the equivalence Null_Ptr = NULL stated in the RM.
> That being said, I would be very surprised if System.Address had a
> different representation from char* or void*.
Yes, and for now my implementation is bound to that assumption.
_____
(*) I am using a technique similar to the one referenced as 2c in
"Accessing Memory as a String" by Robert Dewar, available at
adapower.com/lang/accessmem.html .
--
,
M A R I O data miner, LIACC, room 221 tel 351+226078830, ext 121
A M A D O Rua Campo Alegre, 823 fax 351+226003654
A L V E S P-4150 PORTO, Portugal mob 351+939354002
next prev parent reply other threads:[~2001-10-30 9:58 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-10-26 18:53 Ada Address = C pointer ? M. A. Alves
2001-10-26 18:09 ` Lutz Donnerhacke
2001-10-26 21:06 ` Florian Weimer
2001-10-26 19:34 ` Mark Johnson
2001-10-26 23:39 ` tmoran
2001-10-29 13:07 ` M. A. Alves
2001-10-29 20:19 ` Matthew Heaney
2001-10-29 23:15 ` tmoran
2001-10-30 10:30 ` M. A. Alves
2001-10-30 19:53 ` tmoran
2001-10-31 13:01 ` M. A. Alves
2001-10-31 14:44 ` Marin David Condic
2001-10-30 9:58 ` M. A. Alves [this message]
2001-10-30 12:02 ` Lutz Donnerhacke
2001-10-30 12:53 ` M. A. Alves
2001-10-30 12:56 ` Lutz Donnerhacke
2001-10-30 14:26 ` M. A. Alves
2001-10-30 14:19 ` Matthew Heaney
2001-10-30 14:41 ` M. A. Alves
2001-10-30 17:10 ` Mark Johnson
2001-10-30 18:01 ` M. A. Alves
2001-10-30 20:23 ` tmoran
2001-10-31 13:13 ` M. A. Alves
2001-10-30 19:53 ` tmoran
2001-10-29 23:15 ` tmoran
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox