comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@cs.nyu.edu (Robert Dewar)
Subject: Re: Importing C Structures
Date: 24 Mar 1995 10:32:08 -0500
Date: 1995-03-24T10:32:08-05:00	[thread overview]
Message-ID: <3kuolo$c53@gnat.cs.nyu.edu> (raw)
In-Reply-To: 3kr4q3$jd9@newsflash.concordia.ca

First of all, the usual advice, if you have questions on GNAT, be SURE
to copy them to gnat-report@cs.nyu.edu which is read by the key people
on the GNAT development team, not all of whom read comp.lang.ada.

There is a simple correspondence between data in Ada and data in C
as follows:

   int -> integer
   short -> short_integer
   signed char -> short_short_integer
   long -> long integer
   char -> character

any simple records map directly to the corresponding C record.

In other words, pragma Convention C is the default for GNAT. This should
be enough to get you started. For argument passing, see the RM, except there
is ONE place we differ from the RM.

We do NOT follow the implementation advice to pass IN parameters that are
records by address, instead we pass them the same way that C would pass
the record (which seems to us a better choice). This may be by address
on some machines, but on some machines, depending on the size of the
record, they are passed by value. It seems closer to the ABI to follow
exactly the same scheme in Ada.




      parent reply	other threads:[~1995-03-24 15:32 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-03-23  6:34 Importing C Structures Chris O'Regan
1995-03-23  7:55 ` Vladimir Vukicevic
1995-03-23 18:55   ` Robert S. White
1995-03-24  8:51     ` Vladimir Vukicevic
1995-03-25  9:57       ` Keith Thompson
1995-03-26 13:16         ` Larry Kilgallen, LJK Software
1995-03-27  0:00           ` Kevin F. Quinn
1995-04-07  0:00             ` Larry Kilgallen
1995-03-27 15:35           ` Theodore Dennison
1995-03-28  0:00             ` Robert Dewar
1995-03-28 11:44             ` Keith Thompson
1995-03-29  0:00               ` misattrubation (was: Re: Importing C Structures) Theodore Dennison
1995-03-31  0:00                 ` Theodore Dennison
1995-03-27 23:39           ` Importing C Structures Keith Thompson
1995-03-27 16:00       ` Norman H. Cohen
1995-03-24 16:08     ` Robert I. Eachus
1995-03-24 20:20     ` Bob Gilbert
1995-03-25 18:07     ` Robert Dewar
1995-03-24 17:30   ` Robert Dewar
1995-03-24 15:32 ` Robert Dewar [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox