libxcpc

LibXCPC-bibliotheek implementeert een automatische reiniging en uitzondering van hulpbronnen in C.
Download nu

libxcpc Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • LGPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • Davide Libenzi
  • Uitgever website:
  • http://www.xmailserver.org/davide.html

libxcpc Tags


libxcpc Beschrijving

LibxCPC-bibliotheek implementeert een automatische bronopruiming en uitzonderingsafhandeling in C. LibXCPC-bibliotheek implementeert een automatische hulpbronnenopruiming en uitzonderingsafhandeling in C. Fouthantering en opruimcode (ten minste voor code die foutafhandeling is) kan nogal wat ruimte in beslag nemen in termen van schriftelijke regels. Dit verhoogt niet alleen de binaire grootte, maar maakt de code moeilijker te lezen. C ++ heeft inheemse uitzonderingsafhandeling, en dit lost een deel van het probleem op, terwijl u de resource-opruiming hebt blootgelegd. De LIBXCPC biedt C ++-achtige uitzonderingsafhandeling, plus automatische opruiming in resources, die in software wordt gebruikt die in C zijn geschreven. De LibXCPC introduceert drie abstracties, die resource, container en uitzondering zijn. De bron is elk object (of actie) dat opruiming nodig heeft. Dit kan een blok van toegewezen geheugen, een open bestand, een toegewezen geheugenregio, enz ... elke toegewezen resource is in eigendom van een container. Een hulpbron kan van een container naar de andere worden verplaatst. Een container is een emmer binnen welke hulpbron wordt toegewezen. Een container kan de ouder zijn van andere containers, door derhalve een ouder / kindrelatie tussen containers te introduceren. Een container kan opnieuw worden toegewezen als kind van een nieuwe container. Door een container te bevrijden, zullen alle middelen die in de container zijn toegewezen, en zullen alle kindercontainers ook recursief bevrijd zijn. Resource-containers vereenvoudigen de CONTROL-CODE van de resource, door een enkele oproep te kunnen uitgeven om een container te bevrijden en automatisch alle middelen die er doorheen zijn vervaardigd, en wordt ook bevrijd. Resources worden toegevoegd / verwijderd in een LIFO (laatste in de eerste plaats) en de LibXCPC-bibliotheek biedt API's om de volgorde van de bronnen in hun contexten opnieuw te regelen. ' Een uitzondering is (zoals in C ++) elke vorm van abnormale toestand die voorkomen dat het programma op zijn pad stroomt. Dit kan een mislukte geheugentoewijzing zijn, een niet-falen om een bestand te openen, een niet-mmap (2) een deel van een bestand, een fout om te schrijven (2) een bestand, enz. Een uitzondering wordt beschreven door een uniek nummer (INT) en door een bijbehorende gegevens (ongeldig *). Uitzonderingen worden gegooid met behulp van de XCPC_THOW (CTX, Exno, Data) -verklaring, of opnieuw gooiden met XCPC_RETHROW (CTX). Een leuke functie van uitzondering, is dat u in staat stelt om alleen bepaalde soorten uitzonderingen aan te pakken en verschillende uitzonderingen in verschillende uitzonderingen Punten van uw codeboom. Met behulp van LIBXCPC-bibliotheek hanteert u uitzonderingen door de potentieel-gooiencode te omgaan met de verklaring van XCPC_RY (CTX). De code kan vervolgens de XCPC_CREATCH (EXNO) of de XCPC_Catch_any-verklaringen gebruiken om specifieke of allerlei soorten uitzonderingen te verwerken die zijn gebeurd in de code gebonden door de XCPC_try (CTX). Een uitzonderingsblok moet worden beëindigd door een XCPC_end_try-statement. Als het huidige uitzonderingsblok niet met de huidige uitzondering aankrijgt met behulp van de XCPC_CATCH (EXNO) -verklaring, en heeft geen XCPC_CATCH_ANY-instructie, de LIBXCPC-bibliotheek Backtrack om een geldige handler in de code te vinden bij hogere lagen van de oproephiërarchie. Het is belangrijk dat tenminste het andere uitzonderingsblok een XCPC_Catch_any-verklaring gebruikt, zodat uitzonderingen die niet door de Code niet worden gevangen, correct worden behandeld. Wanneer een uitzondering door een handler wordt vastgelegd, alle middelen die door de Code zijn toegewezen vanaf het begin van het XCPC_RY (CTX) -blok, naar de plaats waar de uitzondering wordt gegooid, worden automatisch bevrijd zodra de handler de XCPC_END_RY-statistiek bereikt. Wat is nieuw In deze release: · Deze release voegt een nieuw systeemgesprekken toe en repareert een paar kleine bugs.


libxcpc Gerelateerde software