From: kilgallen@eisner.decus.org (Larry Kilgallen)
Subject: Re: How do I get this to work??
Date: 1999/01/06
Date: 1999-01-06T00:00:00+00:00 [thread overview]
Message-ID: <1999Jan6.074153.1@eisner> (raw)
In-Reply-To: 76uvjt$o0f$1@nnrp1.dejanews.com
In article <76uvjt$o0f$1@nnrp1.dejanews.com>, robert_dewar@my-dejanews.com writes:
> In article <36926c54.2583014@news.pacbell.net>,
> tmoran@bix.com (Tom Moran) wrote:
>> NO. 'address is non-portable. For instance, one of the
>> compilers I use regularly uses the full Intel
>> segment:offset form, all 32 bits, for 'address, vs 32
>> bits with (Win32's) implied segment for 'access.
>
> First, I assume you mean full 48 bits for the
> segment:offset form, since that is what it is in 32-bit
> mode, and surely you are talking about 32-bit mode here.
>
> If so, that is an extraordinarily bad choice for a compiler
> to make. Why? Because there is loads of legacy code around
> that assumes that an Address value can be passed to C as
> a pointer. A compiler that does not allow this usage is in
> my opinion badly flawed if you want to interface to C using
> it.
For the sake of portability, a compiler should at least flag
all such usages that are not guaranteed to work by the standard
against which it is written. Not working on the development
platform is a very large hammer, but perhaps it is justified
for Ada 95 where there is a supported mechanism for calling
to some of the other standardized languages.
Also, representation of addresses can vary even on a single
platform, so sometimes you have to know how the other language
code (or portion thereof) was compiled to know how big _it_
thinks an address is. It would not do to have the C code
stuff a 64 bit address into your 32 bit address variable.
Larry Kilgallen
next prev parent reply other threads:[~1999-01-06 0:00 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-01-04 0:00 How do I get this to work?? Chris Warwick
1999-01-05 0:00 ` Tom Moran
1999-01-05 0:00 ` Chris Warwick
1999-01-05 0:00 ` Stephen Leake
1999-01-05 0:00 ` Tom Moran
1999-01-06 0:00 ` robert_dewar
1999-01-06 0:00 ` Larry Kilgallen [this message]
1999-01-06 0:00 ` Tom Moran
1999-01-06 0:00 ` Tom Moran
1999-01-07 0:00 ` robert_dewar
1999-01-07 0:00 ` Tom Moran
1999-01-10 0:00 ` robert_dewar
1999-01-10 0:00 ` Tom Moran
1999-01-10 0:00 ` robert_dewar
1999-01-10 0:00 ` Pat Rogers
1999-01-10 0:00 ` Tom Moran
1999-01-10 0:00 ` robert_dewar
1999-01-06 0:00 ` Tom Moran
1999-01-07 0:00 ` robert_dewar
1999-01-07 0:00 ` Tom Moran
1999-01-10 0:00 ` robert_dewar
1999-01-06 0:00 ` robert_dewar
1999-01-06 0:00 ` Chris Warwick
1999-01-06 0:00 ` Tom Moran
1999-01-07 0:00 ` robert_dewar
1999-01-09 0:00 ` Chris Warwick
1999-01-09 0:00 ` Simon Wright
1999-01-10 0:00 ` robert_dewar
1999-01-11 0:00 ` Simon Wright
1999-01-16 0:00 ` Chris Warwick
1999-01-16 0:00 ` Matthew Heaney
1999-01-16 0:00 ` robert_dewar
1999-01-18 0:00 ` Chris Warwick
1999-01-18 0:00 ` Matthew Heaney
1999-01-18 0:00 ` robert_dewar
1999-01-18 0:00 ` dennison
1999-01-18 0:00 ` Tucker Taft
1999-01-19 0:00 ` Chris Warwick
1999-01-19 0:00 ` Tom Moran
1999-01-19 0:00 ` robert_dewar
1999-01-20 0:00 ` Jeff Carter
1999-01-20 0:00 ` robert_dewar
1999-01-21 0:00 ` Chris Warwick
1999-01-19 0:00 ` Stephen Leake
1999-01-18 0:00 ` dennison
1999-01-16 0:00 ` Simon Wright
1999-01-16 0:00 ` robert_dewar
1999-01-18 0:00 ` Chris Warwick
1999-01-18 0:00 ` Matthew Heaney
1999-01-09 0:00 ` Brian Rogoff
1999-01-10 0:00 ` Matthew Heaney
1999-01-07 0:00 ` Stephen Leake
1999-01-08 0:00 ` Simon Wright
1999-01-06 0:00 ` Simon Wright
1999-01-22 0:00 ` Nick Roberts
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox