Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

сигналы SIGINT SIGABORT - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написание и использование DLL http://www.cyberforum.ru/cpp-beginners/thread930046.html
Доброго времени суток! При попытке написать элементарную DLL возникло несколько вопросов: 1) Почему без указания экспорта в DEF-файле, функцию нельзя "подцепить" с помощью GetProcAddress, при...
C++ Повторный вызов конструктора?! Мой небольшой класс class CString { private: char* str; int len; int real_size; public: CString() : len(0), real_size(10) { http://www.cyberforum.ru/cpp-beginners/thread930032.html
Сортировка чисел C++
Всем добрый вечер! Прошу вашего прощения за тупость,и помощи. Мне было поставлено несложное задание на плюсах, но столкнулся с проблемой В написании одного алгоритма - сказывается нехватка знаний....
C++ Крестики-нолики, проверка
Подскажите пожалуйста как тут реализовать проверку по прямой и по диагонали? #include <iostream> #include <cmath> using namespace std; class Board { protected:
C++ функия NtCreateUserProcess http://www.cyberforum.ru/cpp-beginners/thread930002.html
как использоват эту функцию и какие параметры надо передавать заранее спасибо
C++ Искусственный интелект для игры Подскажите, есть ли современные игры, для которых можно писать интеллект, или игра которая и состоит в том, что бы писать интеллект. Главное не супер качество графики, и еще что либо, а что бы было... подробнее

Показать сообщение отдельно
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,532
Завершенные тесты: 1
29.07.2013, 11:05
Перехватывать-то перехватывает, но опасно с ними играться.
signal
SIGABRT
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <iostream>
using namespace std;
 
#include <csignal>
 
void signalINT(int signalValue);
void signalABRT(int signalValue);
 
int main()
{
 
    //бесконечный цикл
    int down=0;
    do
    {
        signal( SIGINT, signalINT );
        signal( SIGABRT, signalABRT );
        cout<<"down= "<<down<<endl;
    Sleep(500);
    down++;
    }
    while(down<=10);
 
    abort();
    return 0;
}
 
void signalINT(int signalValue)
{
    int response=0;
    cout<<"has operated signal SIGINT"<<endl;
    while(response!=1 && response!=2)
    {
        cout<<"1-yes, 2-no";
        cin>>response;
        if(response==1)
          {
          cout << "!!!abort!!!";
          Sleep(500);
          signal( SIGABRT, signalABRT );
          abort();
          }
    }
    //signal( SIGINT, signalINT );
}
 
void signalABRT(int signalValue)
{
    cout<<"oops abort() function"<<endl;
    cin.ignore(2);
    signal( SIGABRT, signalABRT );
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru