Dirty Oerti hat geschrieben:Mal eine "dumme" Frage:
Die Frage ist leider nicht so dumm...
Dirty Oerti hat geschrieben:Ich möchte "feste Typgrößen" definieren. Also, dass ein int IMMER 4 Byte hat, ein short IMMER 2, ein char IMMER 1 Byte etc.
Wozu: Bei meinem Kernel möchte ich sichergehen, dass auch die richtigen Größen verwendet werden.
Leider geht das nicht - wie groß ein char, int und short ist und bleibt nunmal compilerabhängig.
Dirty Oerti hat geschrieben:Gesehen hab ich das schon öfters.
In vielen anderen (vergleichbaren) Projekten wird mit eigens definierten Typen gearbeitet.
Das stimmt, mir kommt vor in fast allen Projekten gibts eigene Typedefs.
Dirty Oerti hat geschrieben:Wie mach ich das?
Das wird dir nicht gefallen: du musst für jede Plattform die du unterstützen willst ein #ifdef schreiben dass die Typedefs enthält. In meinem Projekt bin ich der Sache aus dem Weg gegangen, indem ich
Boost.Integer verwendet habe. Was die allerdings tun ist genau dasselbe - für jede Plattform eigene typedefs.
Dirty Oerti hat geschrieben:Und: Ist das Sinnvoll?
Überleg dir genau ob die Größe wirklich relevant ist oder ob es nicht vielleicht reicht, wenn es auf diesem System für das du kompilierst gleich bleibt. Du wirst schon deine Gründe haben, also ja es ist Sinnvoll.
Du kannst ja eine Liste mit "unterstützten Plattformen" anlegen, und jede dort verzeichnete Plattform muss ihre Typedefs enthalten.
Oder so...

Haters gonna hate, potatoes gonna potate.