Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názor k článku
Mono míří do linuxových distribucí

Lael Ophir
Lael Ophir (neregistrovaný) ---.net.upc.cz
30. 6. 2009 21:08

Re: Podporuji .NET

celé vlákno

C++ je jak známo zpětně kompatibilní s C. V důsledku toho je v něm možné použít dlouhou řadu nebezpečných konstrukcí. Nakonec se podívejte, co jsem psal na začátku: „Aplikace psané v C/C++ mají hromady bugů, padají, a snad úplně všechno má bezpečnostní problémy (web servery, browsery, DB enginy, aplikační servery, kancelářské balíky, mailoví klienti, DNS servery, kernely, přehrávače multimédií, pluginy do browserů – vyberte si). Přitom jde typicky o buffer overflow/underflow, bound checking a další problémy, které v managed jazycích (C#, Java) prostě neexistují.“

Statická analýza kódu pod C/C++ těžko může vést k důkazu nějakých vlastností kódu. Je to spíš hraní na statickou analýzu. To právě proto, že velký počet konstrukcí má side effects. Příkladem budiž použití strcpy. V .NETu zkopírování stringu nemůže mít žádný side effect. Bu´d se zkopíruje string, nebo dojde k výjimce. Strcpy ale může v závislosti na parametrech vést k přepsání čehokoliv, a statická analýza se o tom vůbec nedozví. Obdobných konstrukcí lze vymyslet hromadu i v C++.