Dear Albert ARIBAUD, In message <4cf7c7f4.6030...@free.fr> you wrote: > > > Well, an u8 is as good a data type as any other. The available range > > of 0...255 seems more than sufficient to store the needed > > information, so why should I waste 4 bytes of storage when a single > > byte is sufficient as well? > > You don't necessarily use only one byte when declaring an u8 instead of > an int, because the next declaration may have alignment requirements > that will cause the compiler to skip bytes after the u8. Besides, u8 is
The compiler / linker may (or may not) optimize this and collect variables of similar alignment. An "int foo;" is likely to end in .bss segment, while an "char foo;" will probably show up in .sbss - I don;t know how good or bad the current situation for ARM is, but I'm sure it is improving (look for example at all the microoptimizations done by Linaro). > not "as good a data type" as any other, it is a specific data type > whereas 'int' is the native data type of the platform, supposed to be > the most natural to deal with for the cpu -- 32-bit for an ARM. Can an ARM CPU not read1s and write single bytes, too? > u8 are perfect and normal, for instance, as fields of a structure which > represents byte registers, or to perform 8-bit arithmetic. Here, > however, there is indeed no reason to use any specific type, so we > should use the cpu's native type. I do not share your opinion. But this is a pretty academic topic, and I'm neither in the mood nor do I have the time for lengthy discussions. Let's stop this here. Best regards, Wolfgang Denk -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de Cigarette, n.: A fire at one end, a fool at the other, and a bit of tobacco in between. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot