konecne poriadny piatkovy flame na temu "to C or nottoC"Was:Vyctovy typ v C
Ales Prochaska
prochaska@alsoft.cz
Pátek Srpen 31 17:07:55 CEST 2007
Rozdil je v tom, ze ceckovej linker ty objekty splaca dohromady a pak
resi co je cim volano, pascalskej linker si je postupne vybira z
modulu, protoze je presne znamo kde se musi nachazet a jakeho jsou
typu. Tim padem i odstraneni dead code u Pascalu neni prace linkeru ale
kompilatoru (pokud se v programu procedura nevola, proste chybi
pozadavek na prilinkovani a linker ji tudiz ani nemuze prilinkovat).
Ales Prochaska
> At 16:44 31.8.2007, Ales Prochaska wrote:
>>Ono nejde jen o ten preklad headeru ale tez o jimi indukovany problem
>>linkovani modulu. Ceckovsky linker je velka veda, slozity jak orloj a
>>bezi casto dyl nez cely prekladac. V jazycich jako Pascal (=Borland
>>Pascal) nebo Ada kde je dodrzena pomerne jednoducha a v praxi
>>neomezujici podminka, ze objekt musi byt definovan drive nez je pouzit
>>vlastne linker neni vubec potreba, protoze se kod jen jednoznacne (!)
>>posklada ze stromu objektu vygenerovanych prekladacem (nebo nactenych
>>z prekompilovanych modulu). Linker tak jen prepocita relokace a u
>>projektu s milionem radku trva linkovani jen par vterin.
> A co dela probuh 'normalni' linker na objekty (schvalne nepisu C-ckovej,
> protoze nezavisi na jazyce)?
> Nekdy si pripadam, ze je vsechno uplne jinak, ze uz X let pouzivam (a
> funguje mi to) ;-)))
> Proste se bere jeden objekt za druhym a lepej se k sobe, pripadne se
> vytahnou z knihoven a udelaj se relokace. Lepsi kombinace
> kompilatoru+linkeru umej i nejaky optimizace a vyhazovani dead code.
> Jindroush (kubecj@avast.com)
> http://www.kostky.org - Pro fany stavebnic LEGO.
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list