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