На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются.
4. Используйте теги [ code=cpp ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Старайтесь формулировать свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной и более давности без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта (C++) user posted image FAQ Форума user posted image Наши Исходники user posted image Поиск по Разделу user posted image MSDN Library Online (Windows Driver Kit) user posted image Google

Ваше мнение о модераторах: user posted image B.V.
Модераторы: B.V.
Страницы: (10) « Первая ... 8 9 [10]  все  ( Перейти к последнему сообщению )  
> необходимо разобраться с обработкой системных исключений , (что писать сюда: catch (...))? компилятор g++
    niXman, я поставил компилятор твоей сборки, бесполезно:
    Вот этот код:
    ExpandedWrap disabled
            #include <windows.h>
            #include <stdio.h>
            
            
            
            int z,p=1,d=0;
            
            LONG WINAPI TopLevelUnhandledExceptionFilter(PEXCEPTION_POINTERS except_info)
            {
              printf ("Поймали исключение. Код %X\n", (unsigned int)except_info->ExceptionRecord->ExceptionCode);
              return EXCEPTION_EXECUTE_HANDLER;
            
            }
            
            
            int main()
            {
            
              SetConsoleCP (1251);
              SetConsoleOutputCP (1251);
            
            
              SetUnhandledExceptionFilter(TopLevelUnhandledExceptionFilter);
            
              try
              {
                 //SEH, деление на ноль
                 z=p/d;
              }
              catch(...)
              {
                 printf("Попали в catch\n");
              }
            
            
              //исключение bad:alloc (С++ исключение)
                //__int64 *pI = new __int64[0xFFFFFFF];
            
              printf("Программа завершила свою работу. Нажмите любую клавишу...\n");
              getchar();
              return 0;
            }


    Выдавал на-гора:
    ExpandedWrap disabled
      E:\vso_moio\Программирование_на_C++\Новая папка (5)>ra_8.exe
      Поймали исключение. Код C0000094
       
      E:\vso_moio\Программирование_на_C++\Новая папка (5)>

    Я написал об этом раньше, вот тут, далее ты сказал мне чтобы я выдал версию компилятора, я выдал (4.5.0, да ещё и экспериментальная) ты сказал, что у меня раритет и вообще смотрел к тебе в подпись.
    Я посмотрел, скачал 4.6.1 Короче вывод тот же самый, а по команде g++ -v:

    ExpandedWrap disabled
      E:\vso_moio\Программирование_на_C++\Новая папка (5)>g++ -v
      Using built-in specs.
      COLLECT_GCC=g++
      COLLECT_LTO_WRAPPER=e:/dev-cpp_nomingw/bin/../libexec/gcc/i686-pc-mingw32/4.6.1/lto-wrapper.exe
      Target: i686-pc-mingw32
      Configured with: ../gcc-4.6.1/configure --prefix=/mingw --host=i686-pc-mingw32 --build=i686-pc-mingw32 --target=i686-pc-mingw32 --enable-languages=c,c++ --with-
      tune=generic --with-host-libstdcxx=-lstdc++ --disable-shared --enable-static --enable-lto --enable-cloog-backend=isl --enable-checking=release --enable-libgomp
      --enable-fully-dynamic-string --disable-libstdcxx-debug --enable-threads=posix --enable-cxx-flags='-fno-function-sections -fno-data-sections' --disable-bootstra
      p --disable-libstdcxx-pch --enable-sjlj-exceptions --disable-win32-registry --disable-nls --disable-werror --with-gmp=/libs --with-mpfr=/libs --with-mpc=/libs -
      -with-ppl=/libs --with-cloog=/libs --with-libiconv-prefix=/libs --with-pkgversion='niXman build' --with-bugurl=http://code.google.com/p/mingw-builds/issues/list
       
      Thread model: posix
      gcc version 4.6.1 (niXman build)


    Чё делать? Однажды я уже спросил тебя, ты указал мне на свою подпись. Не помогло, как видишь.
    Сообщение отредактировано: повстанец -
      Цитата повстанец @
      бесполезно

      а в чем должна была быть польза?
      Цитата повстанец @
      Поймали исключение. Код C0000094

      ну вот, системное исключение поймал. что не так?
      Цитата повстанец @
      вот тут, далее ты сказал мне чтобы я выдал версию компилятора

      да. но не понимаю, что в работе кода тебя не устраивает?

      Добавлено
      да и сменить версию компилятора я предлагал потому, что ты использовал древнюю тестовую сборку. не более.
      Сообщение отредактировано: niXman -
        Цитата niXman @
        ну вот, системное исключение поймал. что не так?

        Я правильно тебя понял, что вывод в сообщении номер 77 был правилен?
          такой же. ты это к чему? ;)
            Я спросил он был правилен иле нет? То, что он такой же, я вижу.
            Тогда я такого вопроса не ставил, ибо сам не знал, а раз ты спрсил уменя про версию компилятора, то всяко-разно неспроста, наверное чё-то не так у меня было с выводом. Так я подумал.

            А спросил я к тому, что на фига ты мне советовал свой компилятор, если я подвижек не вижу?

            Но опять же это я отвечаю на твой вопрос (наверное, преждевременно), а ты на мой не отвечаешь. Ещё раз: вывод сообщениия номер 77 был правилен или ты просто толкаешь свои компиляторы налево и направо ползуясь неопытностью людей- моей, в частности?
              повстанец, иногда после осмысления своих ошибок, например, связанных со старой версией компилятора, или после получения новых знаний полезно перечитывать тред. Вот это я для кого писал?
                Qraizer, во-первых, я к этому ещё не возвращался. Надо быть последовательным. Щас я разбираюсь с компилятором.
                Во-вторых, долго ещё niXman будет меня оскорблять?
                Требую забанить его по нику навсегда
                Сообщение отредактировано: повстанец -
                  Причину неработоспособности твоего кода я тоже уже озвучивал. Без уверенности, правда, но другого объяснения пока нет, и не только у меня. Если я прав, то твой код и должен так работать, как ты наблюдаешь. Тебе не удастся подружить gcc с SEH иначе, как с помощью того же WinAPI. Ловишь им необработанное SEH-исключение и транслируешь в C++EH-исключение, которое gcc обрабатывать умеет. Мой код не более чем тестовый. Его ещё допиливать надо будет, чтоб по уму. Но это дело техники, главное, чтоб заработало.
                  Сообщение отредактировано: Qraizer -
                    !
                    Давайте не опускаться до хамства и личных оскорблений. У нас здесь не балаган, а культурный тематический раздел. И давайте вести себя подобающе, и уважать мнения других.
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,2286 ]   [ 16 queries used ]   [ Generated: 12.10.25, 01:56 GMT ]