Re: 0xdeadbeef vs 0xdeadbeefL

From: tom st denis
Date: Wed Jul 07 2004 - 13:43:13 EST


--- Gabriel Paubert <paubert@xxxxxxx> wrote:
> > So I'd say it thinks that all of the constants are "int". In this
> case
> > 0xFF is greater than 127 [max for char] and 0xFFFFFFFFFFULL is
> larger
>
> You are aware that this statement is plainly and simply wrong,
> aren't you?

That goes right up there with, um nope. The only reason why the
compiler doesn't error about it is because it's not an error. Doesn't
mean it's right.

> On many platforms a "plain" char is unsigned. You can't write
> portable
> code without knowing this.

Um, actually "char" like "int" and "long" in C99 is signed. So while
you can write

signed int x = -3;

You don't have to. in fact if you "have" to then your compiler is
broken. Now I know that GCC offers "unsigned chars" but that's an
EXTENSION not part of the actual standard.

You ought to distinguish "what my compiler does" with "what the
standard actually says". If you want unsigned chars don't be lazy,
just write "unsigned char".

As for writing portable code, um, jacka#!, BitKeeper, you know, that
thingy that hosts the Linux kernel? Yeah it uses LibTomCrypt. Why not
goto http://libtomcrypt.org and find out who the author is. Oh yeah,
that would be me. Why not email Wayne Scott [who has code in
LibTomCrypt btw...] and ask him about it?

Who elses uses LibTomCrypt? Oh yeah, Sony, Gracenote, IBM [um Joy
Latten can chip in about that], Intel, various schools including
Harvard, Stanford, MIT, BYU, ...

I write code that builds on basically any box with GCC which includes
regular PCs, Macs, Gameboys, PS2, Suns, etc, etc, etc. All without
changes....

Tom



__________________________________
Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.
http://mobile.yahoo.com/maildemo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/