Datentypenlänge auf 64-Bit systemen



  • Welche Längen haben char, short int, int, long int und long long int auf einem 64-Bit System?



  • sizeof(char);
    sizeof(short int);
    sizeof(int);
    sizeof(long int);
    sizeof(long long int);
    


  • Ich würde nicht fragen, wenn ich's ausprobieren könnte!



  • Auf allen Unix Systemen sollte folgendes gelten:

    sizeof(short int) == 2
    sizeof(int) == 4
    sizeof(long int) == 8
    sizeof(long long int) == 8

    char hat immer size 1. Das ist unabhängig vom System.



  • Ponto schrieb:

    Auf allen Unix Systemen sollte folgendes gelten:

    IMHO hängt es auch von der Prozessor-Architektur ab, für die du compilierst. Und nicht zuletzt vom Compiler. Und deshalb lautet die Antwort so wie der erste Beitrag.



  • Optimizer schrieb:

    Ponto schrieb:

    Auf allen Unix Systemen sollte folgendes gelten:

    IMHO hängt es auch von der Prozessor-Architektur ab, für die du compilierst. Und nicht zuletzt vom Compiler. Und deshalb lautet die Antwort so wie der erste Beitrag.

    Wie der Artikel http://www.unix.org/version2/whatsnew/login_64bit.html erklärt, heisst die oben dargestellte Variante LP64. Diese hat viele Vorteile und wurde von UNIX Herstellern als Standard ausgewählt.

    In 1995, a number of major UNIX vendors agreed to standardize on the LP64 data model for a number of reasons

    Deshalb ist meine Aussage, dass es auf UNIX Systemen gelten sollte, nicht ganz verkehrt.

    Es gab und gibt wohl noch viele andere Systeme, aber LP64 ist das gängigste. Ich kenne es zumindest von Sun 64Bit auf Sparc, AIX 64Bit auf PowerPC und Linux 64Bit auf x86_64.


Anmelden zum Antworten