Ki fakulteti ats-11-20 guruh talabasining
C ++ da signallarni qayta ishlash
Download 53.9 Kb. Pdf ko'rish
|
Avazov A 11-labarotoriya ishi
C ++ da signallarni qayta ishlash
Signallar operatsion tizim tomonidan jarayonga uzatiladigan uzilishlar bo'lib, ular dasturni muddatidan oldin to'xtatishi mumkin. UNIX, LINUX, Mac OS X yoki Windows tizimidagi Ctrl + C tugmalarini bosib uzilishlarni yaratishingiz mumkin. Dastur tomonidan tutish mumkin bo'lgan signallar mavjud, ammo dasturingizda tutushingiz mumkin bo'lgan signallarning quyidagi ro'yxati mavjud va signalga asoslangan tegishli tadbirlarni qabul qilishingiz mumkin. Ushbu signallar C ++ sarlavhasi faylida aniqlanadi signal() funksiyasi C ++ signallarni boshqarish kutubxonasidagi signal() funksiyasi kutilmagan hodisalarni aniqlash uchun foydalaniladi. Quyida signal() funksiyasining sintaksisi berilgan: void (*signal (int sig, void (*func)(int)))(int); signal() funksiyasiga misol: #include #include using namespace std; void signalHandler( int signum ) { cout << "Interrupt signal (" << signum << ") received.\n"; // cleanup and close up stuff here // terminate program exit(signum); } int main () { // register signal SIGINT and signal handler signal(SIGINT, signalHandler); while(1) { cout << "Going to sleep ...." << endl; sleep(1); } return 0; } raise() funksiyasi raise() funktsiyasi bilan signallari ishlab chiqish mumkin. Quyidagi sintaksisdan iborat: int raise (signal sig); raise() funksiyasiga misol: #include #include using namespace std; void signalHandler( int signum ) { cout << "Interrupt signal (" << signum << ") received.\n"; // cleanup and close up stuff here // terminate program exit(signum); } Download 53.9 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling