srovnani delphi & c++ & c#
Slavomir Skopalik
skopalik@elektlabs.cz
Úterý Únor 1 17:57:51 CET 2005
> - pokud knihovny prilinkovavam ke svemu programu, mohu si pouzit
> jakou chci konvenci bez ohledu na jazyk - je to interni zalezitost
Zalezi na platforme, tohle bohuzel kazdy kompiler C/C++ neumi.
Alespon zaryti UNIXaci mi tvrdili, ze pouze cdecl, nic jineho.
Jinak klasicke funkce jsou volany cdecl a to je vetsina volani
(jine volani totiz omezuje synataxi, neumoznuje promenny pocet
parametru).
Dival jsem se na preklad c# do ASM a take volal pomoci zasobniku.
>
> - pokud chci pouzit sdilene knihovny (dll) jen pro sebe, mohu pouzit
> libovolnou konvenci, bez ohledu na jazyk.
Tohle jiz neni pravda, nebot se u DLL ocekava nektery typ volani a zadny
jiny.
Napriklad UDF pro Firebird, nebo DLL do nekterych aplikaci, ktere ktere
umi
volat DLL ocekavaji jen urcity typ volani (stdcall).
>
> Nejak nemohu najit kde ma Delphi tak obrovske vyhody proti
To jsem netvrdil, tvrdim, ze ma podstatnou vyhodu pri volani.
Delphi zase straceji jinde (optimalizace, instrukce).
Zkousel jsem gcc presvedcit, aby vygenerovalo stejne kvalitni
kod jako delphi a marne, proste tam porad byly stac frames.
> C++. Navic si myslim ze pomalost programu je jen hodne
> vyjimecne zpusobena rezii jazyka (predavani parametru apod.),
Tohle bych si nedovolil tvrdit, rezie napriklad u c# je velmi podstatna
(garbage collector).
> podstatne casteji nevhodnou volbou algoritmu ci nevhodnym
> resenim veci v tesne smycce (vypis prubehu vypoctu na obrazovku...)
Souhlas.
Slavek
Další informace o konferenci Hw-list