64bit versus 32bit OS
Michal Schmidt
xschmi00 na stud.feec.vutbr.cz
Středa Prosinec 12 11:12:53 CET 2007
On Wed, 12 Dec 2007 10:52:20 +0100
Ladislav Vaiz <spam na nagano.cz> wrote:
> Ing. Pavel PaJaSoft Janoušek napsal(a):
> > V tom případě nechápu proč jsme ho již v historii několikrát
> > měnili... Krátkou rešerší jsem nalezl např. tuto definici:
> >
> > 1. A common name for the {integer} data type. In {C} for example,
> > it means a (signed) integer of the computer's native {word length}.
> >
> >
> Přiznávám, že specifikaci ANSI C ani C99 jsem nečetl, ale jsem
> přesvědčený, že je tam něco jako:
>
> sizeof(char) == 1
> sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
>
> Z toho mi plyne, že pokud by sizeof(int) bylo 8, tak si můžu vybrat,
> zda sizeof(short) bude 2 nebo 4, ale datový typ zbylé velikosti
> nebude možné použít. Současný stav na AMD64 sice může vypadat
> nelogicky, ale existují datové typy všech velikostí.
> Jak toto řeší jiné 64bitové architektury? K Alphě se už nedostanu...
Nevím, jaké velikosti bývají obvyklé na Alphě, ale je vhodné si
uvědomit, že velikosti datových typů jsou závislé na použitém
překladači C. Na stejné HW platformě můžou použít různé překladače různé
velikosti (MS Visual C++ má na x86_64 32-bitový nejen int, ale i long).
Michal
Další informace o konferenci Linux