2 Fragen: Programm zum beenden zwingen + Alle variablen löschen??
-
Tach erstma
Ich hätt da ma 2 kleine Fragen:
1. :
Wie kann ich in C++ ein Programm zum beenden "zwingen" ?
ein einfaches return 0; funktioniert irgendwie nicht immer...
2. :
Wie kann ich alle im Programm verwendetet Variablen aud dem Arbeitsspeicher wieder löschen? Gibts dafür einen Befehl / eine Funktion?
Danke fürs lesen / antworten
-
mit exit(0) kommst du raus... variablen kannst du nur löschen, wenn du sie dynamisch angelegt hast, der rest wird nur gelöscht, wenn das programm beendet wird...
-
zu 1)
was fürn programm hast du denn da verbockt?
irgendwelche threads noch am laufen die dann im hintergrund weiterlaufen
zeig mal quellcode2)nach dem beenden deines proggies wird der speicher eigentlich von selber vom betriebssystem freigegeben
an sonsten solltest du mit new allokierten speicher mit delete wieder freigeben...werd mal ein wenig konkreter oder mach mal ein codebeispiel was genau du meinst
-
Vielen Dank für die antworten!
Ich hatte da halt so ein programm mit ein paar verschachtelten if / else / switch sachen und so, und wenn man ein paar mal hin und zurück gegangen ist, liess es sich halt nicht mehr beenden (Ich hatte ne case zum beenden in ner switch geschichte) sondern es hat nur wieder ne andere funktion aufgerufen...
Der Quellcode is zu gross um den jetzt hier zu poasten, ich hoffe ihr habts trotzdem irgendwie kapiert...
Na ja und ich dachte halt das das daran liegt das sich da irgendwelche variablen stören, desswegen wollte ich die löschen lassen und dann return 0; oder so machen
ABER
mit exit(0); funktionierts wunderbar, vielen dank!
PS: Nein, ihr müsst nicht kapieren was ich da geschrieben hab....ich tus selbst kausm....trotzdem danke!
-
klingt alles äußerst unsauber geschrieben.... sorry, da ist was am grundlegenden programm-design falsch!!
-
seh ich auch so wenn du nur noch mit exit aus deinem programm rauskommst ist da irgendwie der wurm drin
-
stichwort rekursion...
-
Also ich konnte keinen sonstigen Fehler finden...aber ich bin ja eigentlich auch noch anfänger, also seid nich so hart zu mir
Ach ja nochmal an alle:
Mit der exit(0); funktioniert es einwandfrei!! Es hat sich also erledigt, Daaanke!!
-
so kommst du aber auf die dauer nicht weit... mag zwar für den moment gehen, aber was, wenn du was anderes machen willst als das programm gewaltsam zu beenden und es geht aufgrund deines design-fehlers nicht?? gewöhn dir von anfang an an, sauber zu programmieren und sobald du merkst, dass etwas nur über 10 Umwege bzw. "mit Gewalt" geht, weißt du, dass irgendwas falsch ist und dass du diesen Missstand beheben solltest, bevor du weiterprogrammierst! Nur so als kleiner Hinweis von mir als einer der etwas erfahreneren...