Re: building and analysing C structs with Storable
Stefan O'Rear <[email protected]> Sun, 14 Oct 2007 13:27:13 -0700
| Newsgroups | gmane.comp.lang.haskell.libraries,gmane.comp.lang.haskell.ffi |
|---|---|
| Message-ID | <[email protected]> |
--===============0840882010== Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="gBBFr7Ir9EOA20Yy" Content-Disposition: inline --gBBFr7Ir9EOA20Yy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Oct 14, 2007 at 10:05:27PM +0200, Henning Thielemann wrote: > > On Sun, 14 Oct 2007, Stefan O'Rear wrote: > >> On Sun, Oct 14, 2007 at 09:28:45PM +0200, Henning Thielemann wrote: >>> Do different C compilers on the same platform actually use different >>> layouts for structs? >> >> Yes, because there are tradeoffs involved. On x86, the optimal >> alignment for long double is 8 bytes, but a lot of people aren't crazy >> about 6 bytes of padding per 10 byte datum, so some compilers default to >> 4 byte alignment. >> >>> If yes, how can I find out, with which compiler a >>> library was compiled? >> >> Ask the person who did the compiling. > > ... but then c2hs cannot do it better (=3Dautomatically) than the "compil= er=20 > dependent Haskell module" approach, can it? On second thought, you're right. It would work. However, you still need the information in the header file, due to the possibility of things like __attribute__((packed)). c2hs reads and fully parses the headers themselves; so must your TH binding generator. Stefan --gBBFr7Ir9EOA20Yy Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQFHEnugFBz7OZ2P+dIRAp1/AJ9UKZyJGH/GUvMOEZnIpjrFpf3degCgjfTs HjmdkJY0q9HHAowixPScaWU= =R/k7 -----END PGP SIGNATURE----- --gBBFr7Ir9EOA20Yy-- --===============0840882010== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Libraries mailing list [email protected] http://www.haskell.org/mailman/listinfo/libraries --===============0840882010==--