Gecontroleerde C: OpenSource C-extensie door Microsoft

Microsoft's liefde voor open-sourcecommunity lijkt elke dag groter te worden. Na de verklaring van Microsoft-topman Satya Nadella vorig jaar, waarin hij verkondigde:

"Microsoft ♥ Linux"

Microsoft heeft veel bijdragen geleverd aan Linux en de open-sourcecommunity. Een aantal daarvan zijn .NET-distributie voor Linux & Mac, Visual Studio Code voor Linux, Javascript Engine ChakraCore, SQL Server voor Linux, Bash op Ubuntu op Windows, FreeBSD-afbeelding op Azure enz.

En de nieuwste toevoeging is Checked C, een uitgebreide versie van C-programmeertaal die de programmeurs betrouwbaarder en veiliger maakt.

Gecontroleerd C

Checked C was aanvankelijk een Microsoft Research-project gericht op het uitvoeren van bounds-checking op C, voor het opsporen en voorkomen van algemene programmeerfouten zoals bufferoverschrijdingen, ongeoorloofde geheugentoegang en onjuiste typeafgietsels. Nu Microsoft het opensource heeft gemaakt, is de nieuwste versie van Checked C en de bijbehorende specificaties te vinden op de releasepagina van de GitHub-repository.

Hoe is deze uitgebreide Checked C beter?

C programmeertaal maakt gebruik van een speciaal concept voor toegang tot gegevens - wijzers. Een aanwijzer is het adres van een geheugencel. Het gebruik van pointers kan lastig zijn en zelfs ervaren programmeurs kunnen soms fouten maken wanneer ze ermee werken. Wat op zijn beurt ervoor kan zorgen dat programma's vastlopen, zich misdragen of worden blootgesteld aan kwetsbaarheden.

Checked C biedt programmeurs opties om hun gebruikte aanwijzers beter te beschrijven en hoe ze deze willen gebruiken. Met deze informatie gebruikt het de methode voor het controleren van grenzen om te controleren of gegevens binnen de beoogde grenzen worden gebruikt. En volgens Microsoft,

De naam Checked C weerspiegelt het feit dat statische en dynamische controle wordt toegevoegd aan C.

En voor programmeerfouten zoals bufferoverschrijdingen en onjuiste casts, schakelt Checked C programmeurs in om controles aan hun programma's toe te voegen om dit soort fouten te detecteren wanneer een programma wordt uitgevoerd of terwijl het wordt geschreven. Met deze uitbreidingen kan Checked C beveiligingsproblemen of softwarebetrouwbaarheidsproblemen voorkomen.

De meeste systeemsoftware is geschreven in C of C ++ programmeertaal. Het ding met het schrijven van systeemsoftware is dat de programmeur nauwkeurige controle over de functionaliteiten van het programma nodig heeft. En met dat in het achterhoofd, zal Checked C zeker een grote hulp betekenen voor de systeemprogrammeurs.

Hoe zit het met de bestaande C-codes?

Geen zorgen te maken! Gecontroleerd C is volledig compatibel met oudere versies. Dit is slechts een uitbreiding op de bestaande C-taal. Dus de bestaande C-codes werken net zo goed met Checked C. En kan worden gewijzigd, profiteer van de uitgebreide functies. Zoals beschreven op de Checked C-projectpagina,

Bestaande systeemsoftware kan incrementeel worden aangepast op een backwards-compatibele manier om dit te controleren.

Wat denk je van Checked C? Ben jij een C-programmeur? Wanneer ga je Checked C eens proberen?

Aanbevolen

LosslessCut is een belachelijk eenvoudige videosnijder voor Linux
2019
Crisis bij Void Linux als hoofdontwikkelaar ontbreekt in actie
2019
Putty installeren op Ubuntu en andere Linux-distributies
2019