Re: Diff b/w 32bit & 64-bit

From: Thunder from the hill (thunder@ngforever.de)
Date: Sun Jul 07 2002 - 14:41:35 EST


Hi,

On Sun, 7 Jul 2002, Jamie Lokier wrote:
> > don't cast from "foo *" to "bar *" if sizeof(foo)<sizeof(bar)
>
> What is the reason for this? I do it quite routinely ("poor man's
> inheritance").

This should only be OK if you pad bar before.

The reason is this one:
foo:
[00111001000011111101001010010101]
(bar *)foo
[00111001000011111101001010010101xunpredictablex]

                                                        Regards,
                                                        Thunder

-- 
(Use http://www.ebb.org/ungeek if you can't decode)
------BEGIN GEEK CODE BLOCK------
Version: 3.12
GCS/E/G/S/AT d- s++:-- a? C++$ ULAVHI++++$ P++$ L++++(+++++)$ E W-$
N--- o?  K? w-- O- M V$ PS+ PE- Y- PGP+ t+ 5+ X+ R- !tv b++ DI? !D G
e++++ h* r--- y- 
------END GEEK CODE BLOCK------

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jul 07 2002 - 22:00:18 EST