struct in struct



  • Also ich seh da nur Probleme in C wenn

    sizeof(int) != sizeof(void *)
    


  • keksekekse schrieb:

    Also ich seh da nur Probleme in C wenn

    sizeof(int) != sizeof(void *)
    

    stimmt, einen pointer nach 'int' casten ist sehr unglücklich.
    besser nach 'unsigned long' oder 'ptrdiff_t'.
    richtig die popokarte hat man aber erst, wenn man keinen linearen adressraum hat und es verschiedene pointer-attribute gibt wie 'near', 'huge', 'banked' usw...
    🙂



  • Genau. Auf DOS 16-Bit und die guten alten Modelle tiny, small, compact, medium, large und huge.

    Aber die nächste Generation wartet auch schon mit 64 Bit, wenn ich nicht irre.



  • keksekekse schrieb:

    Genau. Auf DOS 16-Bit und die guten alten Modelle tiny, small, compact, medium, large und huge.

    da gibt's die verrücktesten sachen. z.b. den schönen S12X von freescale. zwei CPU's drin, die eine sieht einen linearen adressraum von 64 kB, die andere kann 8MB adressieren, aber nicht durchgängig sondern hier mal ein bisschen RAM, dort mal etwas FLASH, ein/ausblendbar über paging register, beide CPU's operieren auf dem selben speicher wobei sich der speicher von CPU#1 aus fetzen von CPU#2 zusammensetzt und das alles in gewissen grenzen noch konfigurierbar 😃
    nicht zu vergessen, dass die eine CPU 2-bytes pointer und die andere 2- oder 3-bytes pointer hat.
    dagegen war die DOS-technik mit diesen segmentregistern, die immer 4 bytes weiterschalten, kinderkram...
    🙂



  • Genau. Auf DOS 16-Bit und die guten alten Modelle tiny, small, compact, medium, large und huge.

    Die gibbet noch in mysql



  • Sqwan schrieb:

    Genau. Auf DOS 16-Bit und die guten alten Modelle tiny, small, compact, medium, large und huge.

    Die gibbet noch in mysql

    das ist da aber was ganz anderes... 😉


Anmelden zum Antworten