Zacatecnicke dotazy v C

Jan Waclawek konfera na efton.sk
Sobota Prosinec 19 17:30:56 CET 2015


Tak kam s tymi fontami? Zisli sa nam tu 3 odpovede:
1. do .c 
2. do .h (s variantou, ze sa preklada len podmienecne)
3. do .inc

Zle na 1. je to, ze pravidlo je, ze .c sa nikdy nikam neincluduje.

Zle na 2. je to, ze pravidlo je, ze v .h nebudu definicie len deklaracie.

Obe pravidla vychadzaju z nepisanej sustavy pravidiel, podla ktorych sa
prekladaju programy pozostavajuce z viacerych modulov. Ten postup je
krehky, a tak je dolezite aby uzivatelia dodrziavali stabnu kulturu, t.j.
tie nepisane pravidla. Ako pan kolega MilanB upozornil, je to dolezite
nielen aby sa Vam podarilo program prelozit, lebo to dosiahnete lahko aj
inak, bez dodrziavania tych pravidiel; ale je to dolezite najma pre inych,
ktori trebars budu neskor Vas program trebars upravovat, alebo budu chciet
"znovupouzit" nejaku jeho cast (to je napokon jeden z hlavnych dovodov
modularizacie). Dolezite je to nielen pre ludi, ale aj pre programy, ktore
s tymi pravidlami rataju pri robeni nejakych "magic" ukonov, ako spominane
rozne IDE. A mimochodom, ten "iny clovek" pokojne mozete byt aj Vy sam -
verte mi, ze o nejaky cas ten program, ak sa k nemu vratite, Vam bude
pripadat ako od niekoho uplne cudzieho...

Zle na 3. je to, co bolo povedane, ze s tym niektore IDE nerataju. A to az
do tej miery, ze ked som to ja urobil v projekte ktory zdielame s kolegom,
kolega sa zacal stazovat, ze IDE, ktore pouziva, mu prestalo automaticky
zobrazovat prototypy, pri hladani v celom projekte nehlada v .inc
suboroch... t.j. prestal fungovat nejaky magic, ktory bol ale zalozeny na
nespravnom predpoklade, ktory v tych nepisanych pravidlach nie je (aj ked
je tazek obvinovat tvorcov IDE za nespravnu interpretaciu pravidiel, ktore
su nepisane, ze...)


Ponukam Vam vsak aj 4. postup, ktory ma tiez svoje "zle", ale je odlisny od
uvedenych troch, takze aj tie "zle" su odlisne :-) . Kedze tie fonty su vo
svojom principe binarny subor (subory), a castokrat sa praveze z nich
umelo "vyraba", "zdrojovy text", co tak nerobit tento umely krok ale fonty
linkovat rovno ako binarny subor? Mozno to ide aj inak, ale ja pouzivam
objcopy na konverziu binarneho suboru do objektoveho formatu (takeho ako
je .o), pricom sa tomu suboru priradi section aj symbol na jeho zaciatok,
a ten isty symbol potom v prislusnom .h subore deklarujem ako extern.

wek



Další informace o konferenci Hw-list