This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: casting on 64/32-bit environment
Miles Bader writes:
> Holger Eitzenberger <holger@eitzenberger.org> writes:
> >> Dose anyone have a reasonable explanation about that?
> >
> > make sure to use 'unsigned long' instead of 'unsigned int', as only the
> > first one will be 64bit in a 64bit environment, the latter still will
> > be 32bit.
>
> You can't really assume this -- apparently on ms-windows "long" is
> still 32 bit, even in a "64-bit" environment (stupid, I agree, but
> I guess MS has too much badly written code that they don't want to
> break...).
Indeed. ptrdiff_t and size_t and intptr_t are the types to use,
depending on exactly what is wanted.
Andrew.