[C] atexit - nützlich oder unsauber?

Diskutiere [C] atexit - nützlich oder unsauber? im C/C++ Forum im Bereich Programmieren unter Linux/Unix; Hi Leute Hab mal ne eher generelle Frage zum Thema atexit(). Diese lautet: Ist es sehr nützlich sie einzusetzen oder eher unsauber? Sicher...

  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

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    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. 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...
  4. WILLKOMMEN! (Nützliche Hinweise und Hilfestellung für das posten in diesem Topic!)

    WILLKOMMEN! (Nützliche Hinweise und Hilfestellung für das posten in diesem Topic!): Willkommen im Web- & File-Services Bereich des Unixboards! In diesem Forum geht es um allgemeine Probleme mit WWW & FTP Dienste im Netzwerk;...
  5. Nützliche Links zum Thema iptables

    Nützliche Links zum Thema iptables: Hi Hier mal ein paar nützliche Links zum Thema Als erstes natürlich netfilter.org selbst netfilter.org Zwei leicht verständliche...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden