Includy v C (CCS 550)
Jan Waclawek
konfera na efton.sk
Čtvrtek Červenec 17 18:47:15 CEST 2014
On pravdepodobne ten kompilator, co pan kolega Hudecek pouziva, nevie robit
link-time optimalizacie. Ono je to dost komplikovana zalezitost, a
napriklad aj gcc ma LTO len odnedavna a su tam este chyby.
Ale tych metodik, ako s tym vybabrat aj u kompilatora, ktory vie
optimalizovat len v ramci suboru, je viacero. Jednou z nich je oznacovanie
vkladanych funkcii ako static (inline), inou je schovavat "funkcie" do
makier; vsetko to ma svoje uskalia.
Ja si svoju potrebu pisat sucasti programov "zoskupene" inak, nez je
zvykom, uspokojujem pouzivanim jedneho vlastneho "preprocesora" naviac
(efton.sk/nyweb).
wek
>Aha, chápu.
>
>Ale pøi dostateènì drsné optimalizaci dostanete stejné nebo lep¹í výsledky - on pak liker vyhazuje i volání funkcí a
>nahrazuje to pøímo výkonným kódem, pokud je funkce dostateènì malá. Ale chce to vìdìt co nedìlat, respektive se dr¾et
>striktnì specifikace jazyka aby to pak je¹tì dìlalo to co si autor pøedstavoval :-).
>
>Pravda debug s takto agresivní optimalizací je ponìkud tì¾kopádný a vy¾aduje i trochu jiný styl pøi ladìní. Ale dá se.
>
>Ale stejnì je to dneska zvrhlost, ale pokud to dìláte pro sebe, tak co je nám po tom :-D.
>
>ced
>
>Dne 17.7.2014 18:03, Pavel Hudeèek napsal(a):
>> To jsem taky jeden èas dìlával, ale pak mì to pøe¹lo, kdy¾ jsem to zas musel likvidovat, a¾ do¹lo místo ve flashce:-)
>>
>> PH
>>
>>
>> Od: Josef ©tengl <ok1ced at nagano.cz>
>>
>> Proto¾e místo #include <inicializace.c> by mìlo být. Je to takový dal¹í vývoj programování :-)
>>
>> #include <inicializace.h>
>>
>> void main() {
>> unsigned char n;
>>
>> inicializace();
>> .....
>> .....
>> while(1) {
>> .......
>> .......
>> }
>> }
>>
Další informace o konferenci Hw-list