optimalizace binarky

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pondělí Říjen 25 10:35:27 CEST 2004


On Sat, 23 Oct 2004, petr cezar wrote:

> chtel bych se zeptat, zda-li lze nejakym GNU nastrojem diassemblovat
> ELF-binarku (program) napr. do instrukci assembleru

objdump --disassemble  (ale vystup je ponekud syrovy)

> a pak na to postvat kompilator s optimalizacemi...

Maximalne tak kompilator assembleru, ale ten obvykle neoptimalizuje. :)

Teoreticky by daly provest finalni optimalizacni kroky typu "peephole
optimization", ktere transformuji kod na urovni strojovych instrukci.
Nejaky efekt by to mohlo mit, ale asi ne moc velky. A se muselo by resit,
jak se vypodarat se zmenami delky jednotlivych casti kodu, coz muze byt
ponekud netrivialni. A v neposledni rade byste si na to musel udelat 
vlastni strojek.

Existuji take jakesi pokusy o dekompilaci, ktere by mohly rekonstruovat
strukturu kodu na vyssi urovni abstrakce, coz by mohlo umoznit i dalsi
optimalizace (vcetne rucnich), ale zatim to neni nic pro "prumyslove
pouziti". I kdyz dekompilace je obvykle mnohem snaze proveditelna na
neoptimalizovanem kodu. :)


--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."




Další informace o konferenci Linux