Lze si nejak vynutit, ze (nekonstantni) funkce ma byt inline?

Pavel Smerk xsmerk na informatics.muni.cz
Pondělí Červen 30 17:15:42 MEST 2003


On Sun, Jun 22, 2003 at 04:20:52PM +0200, Lukas Svoboda wrote:
> On Sat, Jun 21, 2003 at 10:54:15PM +0200, Pavel Šmerk wrote:
> > lze perlu nejak rict, ze nejaka funkce (zkratka kodu) ma byt prekladana 
> > "inline", tedy ze tam nebude zbytecne funkcni volani, ale "rozepsany" 
> > kod? Nasel jsem jenom, jak rict, aby ne ;-)
>
> Tomu nerozumim. Perl prece zkompiluje program do op-codu a ten pak
> vykonava. Viz napr. kniha Advanced Perl Programming, kapitola 20. Perl
> Internals. Co si pamatuji, op-cod se jeste optimalizuje ale okenkem
> velikosti 2. Ale myslim, ze to vsechno Ty vis. 

Nevedel jsem, pocetl jsem si, ale nejsem o moc moudrejsi.

> Takze, alespon jestli tomu rozumim, neni mozny aby nejakou funkci bral
> inline (ve smyslu C/C++/Java).

Proc by to nemelo byt mozne? Nejaky opakujici se kod muzu bud napsat
"primo", nebo nahradit funkci, u ktere (pak pri provadeni) bude navic to
funkcni volani. No a jaka vlastnost Perlu by mela znemoznovat, aby to misto
funkcniho volani provadel "inline"?

> Ale muzes pouzit urcite fci eval, kde bude kod dane funkce rozexpandovan.

Fakt? To se mi alespon podle perlfunc nejak nezda.
							S pozdravem	P.


Další informace o konferenci Perl