32bit->64bit und die datentypen



  • naja, dann konnte ich wenigstens einmal mit meinem wissen über meta programmierung prollen 😃

    aerrgh wieso schreib ich eigentlich immer soviel code, weil ich denke, sowas gibet nicht, und 2 mins später kommt jemand vorbei und sagt "jo gibet schon lange" 🙄



  • Weil du dich nicht vorher ausreichend informierst, ob es das schon gibt. Zumindest boost muss man sich schon erstmal ansehen. 🙂



  • wenigstens kann man seinen horizont etwas erweitern(btw, meine idee find ich immernoch nicht so schlecht :D)

    ps: kann mir mal einer erklären, wieso meine eine hand immer schneller schreibt als die andere? das nervt hochgradig 😞



  • Das macht nciht wirklich sinn oder? Ich beziehe mich auf:

    typedef Type<signedTypes,4> INT;
    

    Wenn dann:

    typedef Type<signedTypes,4>::type INT;
    

    Und du scheinst gar keine Regel bezütlich groß und kleinschreibung zu haben. Mal werden Typen komplett klein geschrieben, mal beginnen sie mit einem Großbuchstaben, mal komplett groß.



  • also dass int auf 32 bit bleibt ... waer ich mir ned so sicher.

    die definition sagt, mindestens 16 bit ...
    und da alle den int traditionsgemaess als "schnellen" Datentyp verwenden, wuerde es gar Sinn machen, den auf den Registerwert mitanzuheben ....

    @otze
    Naja, nen logistisches Problem bekommst soweiso ....
    dein Programmm schreibt binaere daten, zum beispiel.
    Auf ner 64 bit plattform hauts pro int 8 byte auf die pladde, bei nem 32 bit system 4 byte. Sprich deine Dateien sind nimmer kompatibel ....
    Die Datenbreite irgendwo in der Datei festhalten, machen wohl die wenigsten 🙂
    Also, entweder du machst das was Optimizer vorschlaegt, und verwendest fest definierte Typen (INT32, INT64 unter windoof z.b.)
    oder du weichst auf nichtbinaere Dateiformate (XML) aus ...

    viel Spass 😃

    Ciao



  • also dass int auf 32 bit bleibt ... waer ich mir ned so sicher.

    die definition sagt, mindestens 16 bit ...
    und da alle den int traditionsgemaess als "schnellen" Datentyp verwenden, wuerde es gar Sinn machen, den auf den Registerwert mitanzuheben ....

    Für den VC++ ist es auf jeden Fall schon mal sicher so. Wäre auch unlogisch, es anders zu machen als Java und C#, insbesondere, da man C++ und C# Code mischen kann, wäre das _sehr_ verwirrend.
    Ich glaube auch, dass die meisten anderen Compiler da mitziehen werden.



  • otze schrieb:

    ich muss mich auf die größe verlassen können, wenn ich einen int aus ner datei lesen will 😉

    Wieso?
    Für 32Bit und 64Bit muss man die Programme doch neu kompilieren. Und sofern kein Dateiaustausch zwischen 32Bit Version und 64Bit Version stattfindet, brauchst das doch also nicht ?



  • D.h. also, dass jede Webseite ihre JPEGs in einer 32bit- und einer 64bit-Version anbieten soll. Am besten noch Big Endian/Little Endian.

    Und dass 64bit-Warcraft keine Savegames geschweige denn Datenfiles der 32bit-Version verwenden kann.

    Nicht grad sehr praktisch.

    int hat auf allen 64bit-Compilern, die mir bekannt sind, 32 Bit. Das sind gcc (AMD64), Compaq (Alpha), Intel (Itanium), MSVC (Itanium), SGI (MIPS).



  • Welches 64Bit Warcraft? Gibts net. Aber würde es eins geben, würden die entweder wie vorgeschlagen fixe Größen verwenden, oder die Datei konvertieren. Wobei wohl eher das erstere der Fall sein wird, da sonst im Multiplayer Speicherstände nicht mehr über Hashs auf Gleichheit überprüft werden könnten.

    Und was hat JPEG jetzt damit am Hut? Natürlich gibts die Bilder nur in einer Version?



  • Helium schrieb:

    Das macht nciht wirklich sinn oder? Ich beziehe mich auf:

    typedef Type<signedTypes,4> INT;
    

    Wenn dann:

    typedef Type<signedTypes,4>::type INT;
    

    ja, der letzte teil war einfach nur da um das ganze zu kompletieren, ist mir wohl ein kleiner ausrutscher unterlaufen, hab ja auch keinen anspruch auf absolute richtigkeit erhoben, sondern schon von vonherein gesagt,d ass es noch nicht fertig ist(vielleicht sag ich auch das nächste mal einfach "noch nicht kompiliert^^").

    Und du scheinst gar keine Regel bezütlich groß und kleinschreibung zu haben. Mal werden Typen komplett klein geschrieben, mal beginnen sie mit einem Großbuchstaben, mal komplett groß.

    ja mein hauptproblem, eigentlich fangen funktionen bei mir klein an, und Klassen zur unterscheidung groß, ich vergess es nur manchmal einfach, und hinterher ärgere ich mich^^. kommt imho auch daher, da ich früher alles am anfang klein hatte, und der mensch ist halt ein gewohnheitstier(nichts destotrotz ist das was ich gemacht habe nicht richtig :().

    @Lars was eine erkenntnis "um dateien auszulesen braucht man fixe größen", sorry, aber das hatten wir hier schonmal 😉

    und wegend er sache mit dem jpeg, das bezog sich auf diese aussage:

    Für 32Bit und 64Bit muss man die Programme doch neu kompilieren. Und sofern kein Dateiaustausch zwischen 32Bit Version und 64Bit Version stattfindet, brauchst das doch also nicht ?

    bei biledern findet automatisch ein datenaustausch statt^^


Anmelden zum Antworten