From: "Alex R. Mosteo" <devnull@mailinator.com>
Subject: Re: Returning data from Ada to C
Date: Wed, 04 May 2005 15:58:34 +0200
Date: 2005-05-04T15:58:34+02:00 [thread overview]
Message-ID: <4278D50A.5010408@mailinator.com> (raw)
In-Reply-To: <4f1a9$4278d210$cf702d0d$18288@PRIMUS.CA>
Igor Khavkine wrote:
> Thanks for the quick reply.
>
> On 2005-05-04, Jeffrey Carter <spam@spam.com> wrote:
>
>>igor.kh@gmail.com wrote:
>>
>>> /* BTW, is it OK to use Ada allocated memory after `adafinal()'? */
>>
>>No.
>
>
> Ok, that's good to know. Also, will I be able to free Ada allocated
> memory with the standard C library `free()'? For example, what do I do if
> I want to free the storage pointed to by `solvec' below?
I'd export a new Ada procedure for this purpose, so you keep all memory
management in the Ada side. Even if gnat uses malloc internally I guess
this is safer.
>
>
>>> sols : C_Double_Array; -- This is probably wrong, but `sols' will be
>>> -- a C_Double_Array of some size.
>>
>>This won't compile. C_Double_Array is an unconstrained array type.
>>Objects must be constrained. You probably need
>>
>>Sols : aliased C_Double_Array (<your constraint here);
>>
>>
>>>-- Now I want to return `rcnt' and `sols'
>>> rcnt := rc; -- This is the easy part.
>>> solvec := ??? -- What goes here?
>>
>>Solvec := Sols'Unchecked_Access;
>
>
> Great! Now, what type will `Solvec' have? I presume that GNAT will bark at
> me if I use the wrong type.
>
> Thanks.
>
> Igor
next prev parent reply other threads:[~2005-05-04 13:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-03 23:49 Returning data from Ada to C igor.kh
2005-05-04 4:49 ` Jeffrey Carter
2005-05-04 13:45 ` Igor Khavkine
2005-05-04 13:58 ` Alex R. Mosteo [this message]
2005-05-06 3:36 ` Jeffrey Carter
2005-05-07 22:12 ` igor.kh
2005-05-08 2:07 ` Jeffrey Carter
2005-05-08 19:58 ` Jeffrey Carter
2005-05-08 9:41 ` Martin Dowie
2005-05-08 14:55 ` Ludovic Brenta
2005-05-08 14:58 ` Ludovic Brenta
2005-05-09 22:49 ` igor.kh
2005-05-10 12:48 ` Ludovic Brenta
2005-05-16 4:35 ` Dave Thompson
2005-05-16 5:03 ` Jeffrey Carter
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox