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



  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