saxus (statz) | #9, Agyfasz (419) |
978 | #2518 | ^ | Idézet | Sat, 13 Apr 2013 13:52:18 +02 |
84.3.*.* | *.catv.pool.telekom.hu |
structban structok = amennyi az ossz structok hossza, annyi lesz a memoriaban szekvencialisan lefoglalva. unionban akarmi = leghosszabb elem hossza, az "alelemek" csak maz nezetek, mindegyik ugyanarrol a memroacimrol kezdodik. Ha struct IOResult* lenne, akkor termeszetesen pointer lenne a structban. Es nezd mar meg, hogy kurvara nem ugyanazzal ter vissza: struct IORequest *CreateExtIO(struct MsgPort *, ULONG); Ilyen C fele OOP emulaciokor szoktak ezt igy csinalni, hogy a "szarmaztatott" structba beleturjak a masik structot az elejere. Azert van a timerequest elejen az IOResult struct. Gondolom a CreateExtIO megcsinalja az elejere es azert keri at a timerequest meretet parameterbe, hogy akkora helyet foglaljon le neki, hogy aztan a tobbi bizgentyu ne mast csapjon felul. Mit ne mondjak, ez tipikusan az az eset szvsz, amikor 10000x kenyelmesebb lenne egybol valami OOP-t nativan tamogato nyelvvel jatszani, mintsem C-ben ganyolni :) |