alex schrieb:
> Ist der Zugriff auf auf v1 immer genau so schnell wie auf v2? Wenn ich
> den Assembler code für ARM9 / Cortex M3 anschau, dann scheint das der
> Fall zu sein. Aber gilt das allgemein?
Ich wage zu behaupten, daß das von der verwendeten CPU und vom
C-Compiler abhängt.
1 | typedef struct
|
2 | {
|
3 | int8_t x
|
4 | int32_t y;
|
5 | }test_def;
|
mit 16 oder 32Bit CPU und
-> Der Compiler müßte y an eine ungerade Adresse in der Struktur legen.
Sofern die CPU überhaupt 16/32Bit-Zugriffe auf ungerade Adressen
erlaubt, würde der Zugriff auf y mehrere Buszyklen benötigen.
Wenn man einfach nur Variablen anlegt, kann der Compiler diese selber
auf optimale Adressen legen.