libxcpc.

LIBXCPC-Bibliothek implementiert eine automatische Ressourcenreinigung undausbehaltung in C.
Jetzt downloaden

libxcpc. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • LGPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Davide Libenzi
  • Website des Verlags:
  • http://www.xmailserver.org/davide.html

libxcpc. Stichworte


libxcpc. Beschreibung

LIBXCPC Library implementiert eine automatische Ressourcenbereinigung und eine Ausnahmebehandlung in C. Die LIBXCPC-Bibliothek implementiert eine automatische Ressourcenbereinigung und Ausnahmeabwicklung in C. Fehlerbehandlungs- und Bereinigungscode (zumindest für den Code, der die Fehlerbehandlung durchzuführen), kann in Bezug auf den zu schreibenden Zeilen einiger Platz einräumen. Dies erhöht nicht nur die Binärgröße, sondern macht den Code jedoch schwieriger zu lesen. C ++ hat ein heimisches Ausnahmehandling, und dies löst einen Teil des Problems, während der Ressourcenbereinigung eins freigesetzt wird. Der LIBXCPC bietet C ++ - wie Ausnahmebehandlung, plus automatische Ressourcenbereinigung, die in der in C. geschriebenen Software verwendet werden soll. Der LIBXCPC stellt drei Abstraktionen ein, die Ressourcen, Container und Ausnahme sind. Die Ressource ist jedes Objekt (oder Action), das Cleanup benötigt. Dies kann ein Block des zugewiesenen Speichers sein, eine offene Datei, einen zugeordneten Speicherbereich usw. Jede zugeordnete Ressource ist im Besitz eines Containers. Eine Ressource kann von einem Behälter in einen anderen verschoben werden. Ein Behälter ist ein Eimer, in dem die Ressource zugeordnet sind Ein Container kann neu zugewiesen werden, um ein Kind eines neuen Containers zu sein. Wenn Sie einen Container freigeben, werden alle in dem Container zugewiesenen Ressourcen freigegeben, und alle Kindercontainer werden auch rekursiv freigegeben. Ressourcencontainer vereinfachen den Ressourcenbereinigungscode erheblich, indem er einen einzelnen Anruf ausgeben kann, um einen Container zu befreien und automatisch alle von ihm enthaltenen Ressourcen zu haben, befreit zu werden , und die LIBXCPC-Bibliothek bietet APIs, um die Reihenfolge der Ressourcen in ihren Kontexten neu zu ordnen. ' Eine Ausnahme ist (wie in C ++) jede Art von anormalem Zustand, in der das Programm in seinem Weg fließt. Dies kann eine fehlgeschlagene Speicherzuteilung sein, ein Fehler beim Öffnen einer Datei, eines Fehlers MMAP (2) einen Teil einer Datei, ein Fehler beim Schreiben (2) eine Datei usw., eine Ausnahme wird von einer eindeutigen Zahl beschrieben (int) und durch eine zugehörige Daten (void *). Ausnahmen werden mit der XCPC_THROW-Anweisung (CTX, EXNO, Data) (CTX, EXNO, Data) ausgeschöpft oder mit XCPC_RETHROW (CTX) erneut geworfen. Punkte Ihres Codebaums. Mit der LIBXCPC-Bibliothek können Sie Ausnahmen durch Umgang mit dem potenziell Wurf-Code mit der XCPC_RID-Anweisung (CTX) umgeben. Der Code kann dann entweder die Anweisungen XCPC_CATCH (EXNO) oder die XCPC_CATCH_ANY-Anweisungen verwenden, um spezifische oder alle Arten von Ausnahmen zu behandeln, die in dem von der XCPC_RY (CTX) gebundenen Code erfolgen. Ein Ausnahmeblock muss von einer XCPC_END_RID-Anweisung gekündigt werden. Wenn der aktuelle Ausnahmeblock nicht mithilfe der Anweisung XCPC_CATCH (EXNO) mit der XCPC_CATCH (EXNO) nicht mit einer XCPC_CATCH_ANY-Anweisung übernimmt, ist der LIBXCPC-Bibliothek Backtrack, um einen gültigen Handler im Code zu finden bei höheren Schichten der Anrufhierarchie. Es ist wichtig, dass zumindest der andere Ausnahmeblock eine xcpc_catch_any-Anweisung verwendet, so dass alle vom Code nicht erfassten Ausnahmen ordnungsgemäß behandelt werden. Wenn eine Ausnahme von einem Handler erwischt wird, werden alle von dem Code von XCPC_RIVE (CTX) zugewiesenen Ressourcen bis zu dem Ort, an dem die Ausnahme ausgelöst wird, automatisch freigegeben werden, sobald der Handler die XCPC_END_Ertry-Anweisung erreicht. Was neu ist? In dieser Version: · Diese Version fügt neue Systemaufrufe hinzu und fixiert ein paar kleinere Fehler.


libxcpc. Zugehörige Software