webForumDet fria alternativet

bryta ett program

9 svar · 258 visningar · startad av Bratte

BratteMedlem sedan feb. 200240 inlägg
#1

Hur var kommandot för att bryta ett program?
(inte break)

LaspMedlem sedan juli 200010 197 inlägg
#2

Ctrl-C

BeatboxMedlem sedan okt. 20012 496 inlägg
#3

Return ?

Marcus EMedlem sedan maj 20021 294 inlägg
#4

Re: bryta ett program

Bratte skrev:

Hur var kommandot för att bryta ett program?
(inte break)

Du får nog förklara vad du menar.

Om du menar att avsluta programmet, så är det absolut bästa sättet att alltid landa i slutet av main. Det finns också en funktion som heter exit (i stdlib.h). Den bör dock undvikas om det inte är absolut nödvändigt.

Om du menar att avsluta ett annat program, så finns funktionen TerminateProcess i Windows. Den är dock farlig att använda. Det är bättre att be programmet att avslutas genom att skicka ett meddelande (som WM_CLOSE).

BeatboxMedlem sedan okt. 20012 496 inlägg
#5

Om du menar att avsluta ett annat program, så finns funktionen ExitProcess i Windows. Den är dock farlig att använda. Det är bättre att be programmet att avslutas genom att skicka ett meddelande (som WM_CLOSE).

Såvida applikationen har ett fönster dvs. Det är inte alla som har det.

Marcus EMedlem sedan maj 20021 294 inlägg
#6

Beatbox skrev:

Såvida applikationen har ett fönster dvs. Det är inte alla som har det.

Jo, de som inte har det kan man inte avsluta på ett bra sätt. Tjänster går visserligen att stänga av, men de klassas inte som program. Konsol-program kan man endast döda (med TerminateProcess t.ex.), vilket bör undvikas.

PeWMedlem sedan juni 20006 839 inlägg
#7

Att inte glömma: Avallokera upptaget minnesutrymme när det skapats "nödutgångar".

BeatboxMedlem sedan okt. 20012 496 inlägg
#8

Jo, de som inte har det kan man inte avsluta på ett bra sätt. Tjänster går visserligen att stänga av, men de klassas inte som program. Konsol-program kan man endast döda (med ExitProcess t.ex.), vilket bör undvikas.

Console program kan man avsluta genom att hoppa ur main, dvs returnera 0. ExitProcess kommer att köras av operativet självt då tiden är lämplig.

GunnarDMedlem sedan juni 20014 250 inlägg
#9

Sedan kan man ( i konsol program ) faktiskt kontrollera om användare trycker på Ctrl-C eller Break och då snyggt rensa upp och avlsuta.

Marcus EMedlem sedan maj 20021 294 inlägg
#10

Beatbox skrev:

Console program kan man avsluta genom att hoppa ur main, dvs returnera 0. ExitProcess kommer att köras av operativet självt då tiden är lämplig.

Jag syftar givetvis på andra konsol-program. Att hoppa ur main skrev jag i mitt första inlägg att man kunde göra. Funktionen jag menade var inte ExitProcess, utan TerminateProcess. Jag har ändrat i mina tidigare inlägg nu.

GunnarD skrev:

Sedan kan man ( i konsol program ) faktiskt kontrollera om användare trycker på Ctrl-C eller Break och då snyggt rensa upp och avlsuta.

Sant, men det är nog långt ifrån alla program som gör det.

Genererad på 423 ms · cache AV · v20260730165559-full.f96bc7eb