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

У меня одного не работает API-функция, устанавливающая новый обработчик исключений? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вложенные циклы (вычисление с суммой и поиск натуральных чисел) http://www.cyberforum.ru/cpp-beginners/thread397272.html
1) Вычислить с точностью E=10^(-4) 2) Найти все натуральные числа, не превосходящие заданного m, сумма цифр в десятичном представлении которых равна заданному k. Никак не могу разобраться, даже на листке это расписать. На форуме есть редактор формул :)
C++ Определить, какие газеты не поступают ни в один из киосков Составить программу, каждое задание реализовать в отдельной процедуре. 1. В три газетных киоска поступают газеты из имеющегося списка. Определить, какие газеты не поступают ни в один из киосков, какие газеты бывают в каждом киоске, а какие есть хотя бы в одном киоске. 2. Дан текст на русском языке. Напечатать в алфавитном порядке все согласные буквы, которые встречаются в тексте менее трех раз,... http://www.cyberforum.ru/cpp-beginners/thread397257.html
Даны действительные числа S, T C++
Помогите пожалуйста, вот задание: .Даны действительные числа S, T. Получить: N=F(T,-2*S,1.17)+F(2.2,T,S-T) где F(A,B,C)=A+B+C/A*B Как же так сделать. чтобы программа брала вместо A-T, вместо B- -2*S, вместо C- 1.17 и тд..? Буду благодарен любым идеям
C++ программа на тему строки!
помогите написать прогу! Во введённом тексте заменить цифры от 0 до 9 на слова «ноль, «один», …, «девять». заранее спасибо!
C++ Классы в С++ http://www.cyberforum.ru/cpp-beginners/thread397216.html
нужно решить следующую задачу 1. класс "подключения": название сети, наличие льгот 2. Производные: "по контракту" (номер счёта, дата открытия, квалификация счёта, остаток), "по карточке" (дата окончания, остаток), определить функцию print - для каждого класса с разной реализацией (название сети и категория). 3. В обоих классах перегрузить бинарную операцию "<" - по остаткам, и унарную "- -"...
C++ [C++] Создать иерархию Помогите пожалуста решыть задачу. Очень срочно!!! Создать класс Двигатель с полями: тип, мощность. Создать класс Авто, содержащий вложенный класс Двигатель. Для класса Авто указать поля: марка и модель (указатели на строку), год выпуска, цвет, тип кузова, цена. - Определить конструкторы инициализации, копирования, деструктор и методы изменения и чтение значений полей данных классов. -... подробнее

Показать сообщение отдельно
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
02.12.2011, 17:35     У меня одного не работает API-функция, устанавливающая новый обработчик исключений?
Ребята, кто заинтересовался, потестите, результаты сюда. В первую и основную очередь интересует компилятор g++
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <windows.h>
#include <iostream>
#include <stdio.h>
#include <excpt.h> 
  
       
       
                                   //+
                                   //+
                                   //+
LONG WINAPI TopLevelUnhandledExceptionFilter(PEXCEPTION_POINTERS x)      {
 //Это функция-обработчик исключений, которая никогда не вызывается
 printf ("hello, word!\n");
 getchar ();
 return 0;
}
            //....................................................
                                   //+
                                   //+
                                   //+
       
int main(){
 
 SetConsoleCP (1251);
 SetConsoleOutputCP (1251);
 
 
 PNT_TIB pTIB;
 PEXCEPTION_HANDLER handler_;
 
 printf ("новая функция-обработчик находится по адресу: %x\n"\
         ,(unsigned int)TopLevelUnhandledExceptionFilter);
 
 
                                 //++
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pTIB= (PNT_TIB)NtCurrentTeb();
// //NtCurrentTeb() недокументированная функция, 
//суть ассемблерная вставка где-то 
 
 //А это сразу указатель найдём на функцию-обрабочик исключения
 handler_= ((PEXCEPTION_REGISTRATION_RECORD)pTIB->ExceptionList)->handler;
 
 
 printf ("\nДо вызова SetUnhandledExceptionFilter:\n");
 printf ("TEB текущего потока== %x\n", (unsigned int)pTIB);
 printf ("TIB текущего потока== %x\n", (unsigned int)pTIB);
 printf ("Стандартная Функция-обработчик исклюючения находится по адресу== %x\n", (unsigned int)handler_);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                 //++
 
 
//устанавливаем обработчик исключения
printf ("\nSetUnhandledExceptionFilter вернула %x\n\n",\
         (unsigned int)SetUnhandledExceptionFilter(TopLevelUnhandledExceptionFilter));;
 
 
                                 //++
//повторяем процедуру нахождения адреса обраблотчика
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 pTIB= (PNT_TIB)NtCurrentTeb();
 handler_= ((PEXCEPTION_REGISTRATION_RECORD)pTIB->ExceptionList)->handler;
 printf ("После вызова SetUnhandledExceptionFilter:\n");
 printf ("TEB текущего потока== %x\n", (unsigned int)pTIB);
 printf ("TIB текущего потока== %x\n", (unsigned int)pTIB);
 printf ("Новая Функция-обработчик исклюючения находится по адресу== %x\n", (unsigned int)handler_);
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                 //++
 getchar ();
 return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 05:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru