OT:programovani v C

Jan Waclawek konfera@efton.sk
Úterý Červen 16 09:22:33 CEST 2009


>Spravna v zmysle korektneho vykonania memcpy. V tomto pripade sa da
>pouzit aj vyraz rovnaka :-) Mojim zamerom bolo odstranit pochybnosti,
>ktore si mozno zasial vetou "ale ZVYCAJNE to sedi tak ako si clovek
>predstavuje".

Ano, to som prehnal. Pochybnosti chceli byt zasiate v smere (v CZ maju na toto nadherny vyraz "stran") chapania slova "byte". 

Teraz som si to trocha pozrel: v principe byte moze byt pokojne nieco uplne ine nez char, podstatne je, aby vsetky mozne char-y sa zmestili do byte (a byte bol > 8 bitov). Inaksie povedane, ak v QR6 pre ucely "byte podla C99" nazvem 12-bitove "dvojslovo", este stale pokojne mozem mat char 8-bitovy. Samozrejme musim implementovat sizeof(char) tak, aby vracal 1, aj keby to pravda nebola ;-)... ale ze ako implementovat presne sizeof(char[n]) mi zatial nie je celkom jasne - sizeof bude totiz ovplyvneny aj poziadavkami na zarovnanie (heslo "alignment"); to by som tu normu musel skumat este niekolko dni aby som odhadol, ako daleko si mozem dovolit uchylit sa od "ocakavaneho" a "bezneho".

To, ze ak sa pouzije ten isty typedef ako parameter tak uz je to "skutocny" pointer, je akasi vynimka z vynimky, a je popisana v poznamke 85 kapitoly 6.5.3.4, s odkazom na kapitolu 6.9.1 a este dolezitejsim (implicitnym) odkazom na kapitolu 6.7.5.3, ktora hovori prave o tom, ze parametre su "adjustovane". (Bleeee... Kvalitne nenavidiet C si vyzaduje dokladnost a spustu studia... ;-) )

wek




Další informace o konferenci Hw-list