c: hi-tech 9,80, interrupt asm

Pavel Hudeček edizon na seznam.cz
Čtvrtek Duben 3 09:38:50 CEST 2014


Vždycky jsem si myslel, že moderní překladače dělají různé optimalizace, např. na rychlost, nebo na velikost. Čekal bych, že při takové příležitosti samozřejmě dojde k podobné analýze. A když beru v úvahu, jak dlouho to mnohdy trvá, tak by ně nepřekvapilo, kdyby program prošel třeba 10x. Ale po 11. kvůli přerušení je teda asi už moc:-)

PH

Od: Tomáš Hamouz 
Jestli po tom kompilátoru nechcete moc.

Pokud by se měl chovat tak jak píšete, tak by musel kompilovat
dvakrát, poprvé když narazí na danou funkci a podruhé, když už ví
jaké další funkce volá. Protože ve vašem případě v okamžiku kompilace
o volané funkci nic neví, počítá s nejhorší variantou.

Linker jen doplní adresy externích objektů, ale do vlastního kódu
funkce už nezasahuje.

> To je logická domněnka, Já myslel, že si to nejdřív všechno připraví a pak
> to slinkuje dohromady. V té přípravě jsem předpokládal, že si právě osahá
> všechny funkce. Pravdou je, pokud se podívám na "profi" programy od
> Microchipu, tak veškeré podprogramy jsou na začátku a samotná hlavní
> procedura, která volá podprogramy je vždy na konci. Takže asi tohle bude
> důvod.


Další informace o konferenci Hw-list