C to ASM

Slavomir Skopalik skopalik@elektlabs.cz
Sobota Srpen 13 16:08:51 CEST 2005


> Nemas tak uplne pravdu. Nektere konstrukce v Basicu a Packalu 
> jsou prilis "obecne" a tim padem i hure prevoditelne do 

Prosim, muzete toto prani nejak dokazat ?

> strojoveho jazyka, respektive svadeji k takovemu pouzivani, 
> ze vysledek je liny a nabotnaly :-))) Dale je v techto 
> jazycich (respektive v implementacich pro MCU) problem s 
> rozclenenim rozsahlejsiho programu na logicke celky, oddeleni 
> deklaraci a 
> definic

Jestli mate na mysle headry, tak vezte, ze to byl nevetsi omyl,
ktereho se pri navrhu mohli panove dopustit.
Velmi zasadni problem totiz spociva v tom, ze kompilator v okamziku
kompilace neni schopen overit, ze header odpovida obj soboru.
Tuto "vlastnost" jiz nastesti zcela odstranuje c#.

Par poznamek:
Napriklad implementace stringu je v pascalu vyrazne rychlejsi,
nez v C (diky tomu, ze neni treba neustale zjistovat delku).

Kdyz jsem porovnaval kod generovany GCC, C++ buldier 3, Delphi 7,
tak po spravnem nastaveni optimalizaci v GCCa C++ byl kod stejny
(+- nejaka instrukce).

Mnohem zasadnejsi je skutecnost, ze pro MCU neexistuje (neni mi znam)
dobry kompiler pascalu, a ze v pascalu chyby napriklad tato vychytavka z C:

typedef struct test { 
    DWORD Prvni_dva_bity:2;           
    DWORD osm_bitu:8;
    ....
    }

V moznosti tvorby rozsahlich projektu je na tom pascal a c priblizne
stejne (mam projekty v pascalu o rozsahu 100+ tisic radku).

Basic je zcela jina kategorie a NENI jej mozne srovnavat, jelikoz
ma zcela jine urceni (interpretr, vse globalni, ...), pokud se ovsem nabavime
o MS VB.NET (ten je hooodne podobny c#).

Slavek





Další informace o konferenci Hw-list