issac at myfirstlink.net
Mon Dec 31 00:13:36 CET 2001
I agree. C isn't a bad language, it's just hardware-centric.
> > He's probably trying to drive home the point that sizeof(int) isn't
> > well-defined in the C language. On C implementations with 16-bit
> integers, the
> > function call results in an overflow. In this case, the answer is 23575.
> Your phrasing ("sizeof(int) isn't well-defined") helped me see the
> fundamental issue: in my mind, sizeof(int) _is_ well-defined, that is to
> say, it is defined as the machine-word-size on whatever platform is being
> used. Of course, this varies from machine to machine, but maybe this
> should be seen as hardware word-sizes being poorly-defined ;-) One of the
> big goals of C was efficiency, so defining ints this way made sense
> (sizeof(int) equals size of CPU register). This is also why C is good for
> writing to bare-metal: it is defined in terms of the machine. Other
> languages that attempt to hide the underlying hardware architecture are
> best for typical applications that don't care about the hardware, but can
> get in the way or make it burdensome to write code that deals directly with
> hardware. On the downside, it does affect portability, but any code that
> deals with hardware is going to have issues like this.
> Cliff Wells
> Software Engineer
> Logiplex Corporation (www.logiplex.net)
> (503) 978-6726 x308
> (800) 735-0555 x308
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.310 / Virus Database: 171 - Release Date: 12/19/2001
More information about the Python-list