[C] atexit - nützlich oder unsauber?

Dieses Thema im Forum "C/C++" wurde erstellt von Zico, 23.12.2007.

  1. #1 Zico, 23.12.2007
    Zuletzt bearbeitet: 23.12.2007
    Zico

    Zico Lebende Foren Legende

    Dabei seit:
    16.04.2004
    Beiträge:
    1.559
    Zustimmungen:
    0
    Hi Leute


    Hab mal ne eher generelle Frage zum Thema atexit().
    Diese lautet: Ist es sehr nützlich sie einzusetzen oder eher unsauber?
    Sicher ist dies eine Frage des *wie* aber im generellen sehe ich Vor- und Nachteile.

    Zum einen ist der Vorteil, dass, wenn ich mein Programm "abschließe", trotzdem alles perfekt aufgeräumt wird(Speicher freimachen etc). Zum anderen habe ich mit atexit aber auch nicht so sher die Kontrolle darüber, in welcher Reihenfolge, die ganzen atexit's aufgerufen werden.
    Ich sitz hier vor einem relativ komplexen Code, der dutzende solcher Aufrufe besitzt und je nachdem welcher Aufruf nun zuerst erfolgt, wird am Ende das ganze ggf. in einer flaschen Reihenfolge aufgerufen.

    Natürlich könnte ich auch alle mit vorherigen atexit Funktionen in EINER Funktion abhandeln, die dann per atexit aufgerufen wird...
    Sprich: Lösungen habe ich für mein Problem, doch würde ich gern wissen, was ihr allgemein über atexit denkt. Also ob ihr es eher nützlich oder unsauber findet oder bis zu welchem Grad abhängig vom Aufbau/Komplexität des Programms oder Anhand der Implementation.
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Hans Dampf, 20.01.2008
    Hans Dampf

    Hans Dampf Jungspund

    Dabei seit:
    19.01.2008
    Beiträge:
    20
    Zustimmungen:
    0
    Hallo,

    ich versuche es zuerst immer mit 'keep it simple'. Bisher habe ich 'atexit()' noch nicht eingesetzt, aber es könnte für mich in einem Zusammenhang interessant werden, der der Intention des Beispiels im Handbuch der 'GNU C Library', '25.6.3 Cleanups on Exit', sehr nahe kommt:

    Meine Bibliothek stellt eine Datenbankschnittstelle für eine Reihe von Programmen zur Verfügung. Diese Programme melden sich beim regulären Beenden bei der Bibliothek ab -, aber soll man wirklich unterstellen, daß jedes Programm immer regulär beendet wird? Würde die Bibliothek nach der Beendigung des letzten Programms geschlossen, könnte diese dabei die Datenbankverbindung geregelt herunterfahren, ohne dies von einem Client-Zähler abhängig zu machen.

    Vermutlich stellen 'atexit()' oder 'on_exit(...)' hierfür die besten Lösungen dar.
     
  4. Zico

    Zico Lebende Foren Legende

    Dabei seit:
    16.04.2004
    Beiträge:
    1.559
    Zustimmungen:
    0
    Hallo :)

    Auch wenn die Antwort etwas spät kommt sag ich dennoch "Danke" für die Erklärung. Mittlerweile bin ich zu einem ähnlichen Schluss gelangt. atexit() bietet definitiv Vorteile, wenn ich es auch versuch enicht mehr zu exzessiv einzusetzten. Mein Programm ist in diverse Subsysteme gegliedert, welche ich auch weiterhin mit atexit() behandle, wobei ich aber nun versuche Abhängigkeiten zwischen diesen (welche durch atexit() falsch gelöst werden könnten) regulär zu handhaben.
     
Thema:

[C] atexit - nützlich oder unsauber?

Die Seite wird geladen...

[C] atexit - nützlich oder unsauber? - Ähnliche Themen

  1. Nützliche Links zu openSUSE

    Nützliche Links zu openSUSE: Nützliche Links zu openSUSE: Schickt mir doch bitte eine Private Nachricht, falls ihr noch zusätzliche Themen habt, die hier unbedingt aufgelistet...
  2. Umfrage zu nützlichen Links

    Umfrage zu nützlichen Links: Hallo zusammen, ich bin gerade dabei eine kleine Sammlung an nützlichen Links zu openSUSE / SUSE zu sammeln und wollte mal von euch wissen, was...
  3. "Nützliche Links" erweitern

    "Nützliche Links" erweitern: Vorschlag: Ich würde es vorteilhaft finden, wenn im Forum die Kategorie "Nützliche Links" (das Drop Down Menü) um den Eintrag "Meine Beträge"...
  4. Nützliches!

    Nützliches!: Hi Leute, bin Anfänger in Sachen linux/unix und hab gleich mal was Nützliches gelesen, was ich allerdings nicht selbst hinbekomme;( Nun zum...
  5. Suche nützliche Bash-Scripte

    Suche nützliche Bash-Scripte: Moin Leutz! Mir ist mal wieder eine Idee gekommen: Eine Sammlung von nützlichen Bash-Scripten aufzumachen. Diese möchte ich dann, mit eurer...