Studijni materialy k C /C++?

Josef Štengl ok1ced na nagano.cz
Středa Září 23 15:01:48 CEST 2015


V češtině toho moc asi nenajdete.

Na zapeklité deklarace se dá použít stařičký cdecl (asi nošení dříví do lesa)

cdecl> explain char (* frump)(int)
declare frump as pointer to function (int) returning char

Herout je dobrý na představu o jazyku a na začátek, jinak je zoufale zastaralý a opomíjející (možná úmyslně) C 
zapeklitosti; například o ~ tam píše dost málo a ještě ne zcela přesně. Neočekával bych žádnou opravu, jelikož na C prý 
zanevřel a stal se z něj Javista (starší info agentury JPP, nutno brát s rezervou).

Pro pokročilejší práci je dobré naučit se číst normu C (poslední C11 draft je na netu k nalezení pod moment ... n1570.pdf,
kde na straně 136 se stručně a jasně vysvětleno co zrovna znamenají vámi uvedené konstrukce. Alespoň jedna. Ta druhá je už 
kód :-). Když něco nevím, tak se koukám do tohoto dokumentu.

Další hezký dokument je manuál k překladači.

Na to co a jak psát a nepsat je dobré prozkoumat kódové předpisy (code style, coding rule a tak podobně), některé volně 
dostupné na Inetu i vysvětlují proč to tak doporučují a čeho se vyvarovat. Jedny z nejvyživnějších jsou automotive 
předpisy, bohužel, ty moc dostupné nejsou.

Pokud začne Pavlem Heroutem (věřím, že ve svém okolí najde někoho ochotného kdo mu knihu půjčí), tak si může rozšířit 
vědomosti na C99 normu mizerným, neupraveným a neudržovaným (není zájem a bez motivace jsem moc líný, obsah to nějaký má 
ale ta forma ... :-() dokumentem.

http://ok1ced.nagano.cz/dokuwiki/doku.php?id=wiki:c:c89_99_diff

V C11 tolik nových věcí nepřibylo, nejkrásnější věc jsou typová makra a někdy bych si rád vyzkoušel atomické proměnné v 
praxi (ne přez funkce) :-).

V C je dobré si dávat pozor skoro na všechno (chápu proč ho wek nemá rád, ale C je tak ošklivé až je zábavné :-). Ono už 
jen čísla jsou v C docela zapeklitá záležitost.

Až si bude myslet, že to zvládá, tak ať se u ARM zamyslí například nad:

(uint32_t)0x80000000 >> 31
(int32_t)0x80000000 >> 31

a proč to dává jiné výsledky než na i51 :-) (čísla nejdříve přiřadit proměnným daného typu).

ced


Dne 23.9.2015 v 13:04 Bosorka napsal(a):
> Od: Bosorka <hw-list na list.hw.cz>
> Předmět: Studijni materialy k C /C++?
>
> Zpráva:
> Kolega je nucen prejit z x51 na ARM procesory a s tim souvisejici jazyk C. Rad by tomu venoval cast letosni dovolene a pozadal me o doporuceni vhodnych studijnich materialu, ktere by mu umoznili proniknout do taju jazyka C.
> A ja vlastnen nevim.
> Kolega neni zadny zelenac, kteremu by so muselo vysvetlovat co je byte nebo musel studovat "Hello world." on v pohode napise i kod v C , ale treba na char (* frump)(int); nebo (*pfun)(pnode->item); kouka jiz divne, z veci v kterych lita typedef je vylozene nastasny, stejne tak s nektrymi vecmi okolo preprocesoru si nevi rady nebo je spise znaten a nevi proc a nac.
>
> Nevite o nejakem kurzu na internetu nebo knize v ktere by se probirali tyto veci a to na uravni dnesni verze nazyka C?
> Idelane v cestine, ale to bude asi nerealne tak v alespon v anglictine.
>
> Preden za kolegu dekuji
>
> Bosak
>
> --
> This e-mail was sent from a contact form on Info365.cz (http://www.info365.cz)
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>


Další informace o konferenci Hw-list