C + +

signaal onderbreking, signaalverwerking, door een systeem van vervroegde beëindiging van de procedure kan worden geleverd.Je kunt een onderbreking van de CTRL + C - MAC os X, Linux, en de ramen, er is een signaal voor de volgende programma 's niet krabben, maar het signaal, zie je in je programma kan op basis van het signaal van de passende maatregelen.Deze signalen in C is gedefinieerd in csignal < >, het signaal beschrijving sigabrt afwijkingen tot beëindiging van de procedure, zoals de opschorting van de telefoon, verwarring, verkeerde rekenen, zoals die tot een overschot van nul of een punt.Het opsporen van illegale sigill richtlijn ontvangen ook een interactie op het signaal.Sigsegv signaal toegang tot opslag is ongeldig.Sigterm verzoek sturen naar de beëindiging van de procedure.De functie van het (de), signaalverwerking, C, die de functie van signalen opvangen van onverwachte gebeurtenissen.De volgende is voor het signaal () de functie van de grammatica, nietig verklaard (* * * * * * *: signaal (int signaal, nietig verklaard (*) (int)) (int); en het simpel houden, deze functie heeft twee argumenten. Het eerste argument als vertegenwoordiger van het aantal en de tweede signaal van parameters voor een functie op de signaalverwerking de gehele., we schrijven een eenvoudig programma, zullen we het signaal vangen decoderings - gebruik (is).Wat wil je in de programma 's tot wat voor signaal, je moet het signaal, een signaal, de functie en de vereniging van registratie van deze procedures voor de behandeling van signalen van signaal.Controleer de volgende voorbeelden, met inbegrip van:&#< hoe een bibliotheek >&#met inbegrip van < csignal > met behulp van namespace SOA; ongeldig signalhandler (int signum) {cout < < "onderbroken signaal (" < < signum < < ") ontvangen."; ///////schoongemaakt en gesloten. /tot beëindiging van de procedure (symbool); uit in de Main (}) {///////register signaal decoderings - signaalverwerking (decoderings - signaal, signalhandler); en (1) {cout < < 'ga slapen... "< < endl; slaap (1);} terugkeer 0), als hierboven; de code wordt opgesteld en uitgevoerd, zal leiden tot de volgende resultaten:, ga naar bed...Ga slapen...Ga slapen...En nu de CTRL + C, de onderbreking van de procedure, zie je je programma zal vangen het signaal zal door het drukken van dingen als volgt:, ga naar bed...Ga slapen...Ga slapen...(2) de ontvangst storen het signaal.(de) de functie van de garantie, en je kan door de functie, de signalen op (), met het oog op de gehele getal als de parameters van het signaal, heeft de volgende grammatica, int verbeteren (signaal SIG); hier, sig, is een signaal, een signaal van een aantal sigabrt, sigill: decoderings -, verwarring, sigsegv sigterm, processen,.De volgende is een voorbeeld geven we een signaal in het interne gebruik op de volgende functies:&#(), met inbegrip van < hoe een bibliotheek >&#met inbegrip van < csignal > met behulp van namespace SOA; ongeldig signalhandler (int signum) {cout < < "onderbroken signaal (" < < de < < "n") ontvangen.; ///////ruimen en sluit dingen /tot beëindiging van de procedure uit (symbool);} in de Main () {int i = 0; ///////register signaal decoderings - signaalverwerking (decoderings - signaal, signalhandler); en (+ + I) {cout < < 'ga slapen... "Lt; < endl; als (i = = 3) {} (decoderings -); verbetering van de slaap (1);} terugkeer 0;}, als de code wordt opgesteld en uitgevoerd, kan leiden tot de volgende resultatenAutomatisch uit:, ga naar bed...Ga slapen...Ga slapen...(2) de ontvangst storen het signaal.,



Previous:
Next Page: