
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.60] |
![]() |
|
Страницы: (10) « Первая ... 4 5 [6] 7 8 ... Последняя » все ( Перейти к последнему сообщению ) |
Сообщ.
#76
,
|
|
|
![]() ![]() E:\vso_moio\Программирование_на_C++\Новая папка (5)>cmd Microsoft Windows XP [Версия 5.1.2600] (С) Корпорация Майкрософт, 1985-2001. E:\vso_moio\Программирование_на_C++\Новая папка (5)>ra_6.exe Поймали исключение. Код C0000094 E:\vso_moio\Программирование_на_C++\Новая папка (5)> g++ |
Сообщ.
#77
,
|
|
|
Цитата повстанец @ g++ покажи вывод "g++ -v" |
Сообщ.
#78
,
|
|
|
Цитата niXman @ C:\test>g++ except.cpp -oexcept C:\test>except Поймали исключение. РљРѕРґ 0xC0000094. Ну вот судя по всему с G++ у тебя сработал TopLevelUnhandledExceptionFilter, а не catch, как должно быть. Что и требовалось доказать! ![]() ![]() niXman, я поставил себе mingw32-gcc-4.6.2-release-c,c++,objc,objc++,fortran-sjlj.7z по ссылке у тебя в подписи. Может че другое надо было ставить? В общем запускаю g++ seh.cpp -oexcept. Если из другой директории, он пишет "Отказано в доступе", если из bin'а он пишет: "g++: error: CreateProcess: No such file or directory". Что это за фигня и как её побороть? ![]() |
Сообщ.
#79
,
|
|
|
Цитата neokoder @ Что это за фигня и как её побороть? это микрософт-специфик проблема. пиши в микрософт. |
Сообщ.
#80
,
|
|
|
Цитата niXman @ это микрософт-специфик проблема. пиши в микрософт. Ты прикалываешься, да? |
Сообщ.
#81
,
|
|
|
Цитата neokoder @ Ты прикалываешься, да? да ![]() где-то я встречал такую проблему. вроде как(если память не изменяет) это какая-то защита виндуз от непроверенных файлов. как-то это исправляется. я не помню, увы. |
Сообщ.
#82
,
|
|
|
![]() ![]() E:\vso_moio\Программирование_на_C++\Новая папка (5)>g++ -v Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=e:/dev-cpp_nomingw/bin/../libexec/gcc/mingw32/4.5.0/lto-wrapper.exe Target: mingw32 Configured with: ../gcc-4.5.0_20100311/configure --enable-languages=c,c++,ada,fortran,objc,obj-c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --ena ble-libgomp --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --disable-werror --build=mingw32 --prefix=/mingw Thread model: win32 gcc version 4.5.0 20100311 (experimental) (GCC) |
Сообщ.
#83
,
|
|
|
neokoder, у тебя ви7 или виста?
|
Сообщ.
#84
,
|
|
|
Цитата niXman @ neokoder, еще, способы убедить всех в том что микрософт-специфик расширения являются стандартом, будут? Ты о чем? Тебе не понравились __try __except, я тебе привел пример с try-catch. Не, ну если у тебя try-catch уже не влазиют в стандарт, то пора бы тебе задуматься, что это за стандарт такой. Может он у тебя в голове просто, стандарт этот? ![]() Добавлено Цитата niXman @ neokoder, у тебя ви7 или виста? Win7 64бит. |
Сообщ.
#85
,
|
|
|
Цитата повстанец @ 4.5.0 20100311 (experimental) да ты че... ![]() Добавлено Цитата neokoder @ Тебе не понравились __try __except, я тебе привел пример с try-catch. либо ты прикидываешься, либо второе... в стандарте нет ничего про то, что С++ исключения должны обрабатывать ошибки деления на ноль, разыменование нулевого указателя, и всякие самопальные расширения ОС и производителей компиляторов. |
![]() |
Сообщ.
#86
,
|
|
повстанец, C++EH будут в нём работать нормально. Сами по себе, в отрыве от SEH. Можно допилить его до поддержки SEH путём SetUnhandledExceptionFilter(), транслируя в своём обработчике SEH-овые исключения в написанный специально для этого некий класс, и в итоге работая т.о. только с C++EH. Но подружить обе технологии не удастся, в лучшем случае будешь костылять то одно, то другое для тех или иных конкретных ситуаций. Программа одна, кадры исключений долждны быть в едином списке, и те, и другие, однако g++ имеет собственный C++EH движок, отличный от SEH, который предоставляется ОС.
Ни один компилятор не соответствует Стандарту в полной мере. Только не надо путать нарушения Стандарта и расширения Стандарта. Стандарт допускает реализациям расширять предсотавляемые возможности, если они не противоречат Стандарту. G++ и рядом с MS не валялся по части таких "нарушений". MSные компиляторы расширяют синтаксис для поддержки особенности платформы. И делают это в соответсвтие с правилами Стандарта. Чего нельзя сказать о g++. Он меня уже не раз удивлял своими фичами. |
Сообщ.
#87
,
|
|
|
Цитата Qraizer @ Только не набо путать нарушения Стандарат и расширения Стандарта. G++ и рядом с MS не валялся по части таких "нарушений". MSные компиляторы расширяют синтаксис для поддержки особенности платформы. И делают это в соответсвтие с правилами Стандарта. Чего нельзя сказать о g++. Он меня уже не раз удивлял своими фичами. ты ведь откровенно лжешь себе(микрософту) в пользу. низко, увы. Добавлено как можно превратить несоответствие стандарту в расширение стандарта? ![]() |
![]() |
Сообщ.
#88
,
|
|
И ещё раз повторю. Глупо говорить о наличии порта под некую платформу, если эта платформа не поддерживается полностью. Ну, пусть не полностью, но ключевые аспекты архитектуры должы быть поддержаны. Ну, пусть не сразу. Но блин, почти 20 лет прошло!
|
Сообщ.
#89
,
|
|
|
Так я не понял почему у меня не работает MinGW, Что это блин за стандарты такие если они ни хрена не работают?
![]() ![]() С MSVC таких проблем не было. |
![]() |
Сообщ.
#90
,
|
|
Цитата niXman @ Почитай Стандарт. И если уж не согласен и обвиняешь, обвиняй обе стороны. как можно превратить несоответствие стандарту в расширение стандарта? |