Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: обработка исключений  (Прочитано 25663 раз)
0 Пользователей и 1 Гость смотрят эту тему.
J7
Гость
« : 27-01-2007 08:06 » 

поясните по подробней как работает signal
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 27-01-2007 12:32 » 

J7, имеется в виду это?
http://angel.cs.msu.su/cgi-bin/man/man2html?signal+2
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
J7
Гость
« Ответ #2 : 27-01-2007 17:09 » 

RXL, похоже на то...
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 27-01-2007 17:52 » 

Ф-ии работы с сигналами родом из unix.

С какой ОС собираешься работать?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
J7
Гость
« Ответ #4 : 27-01-2007 17:54 » 

под винду... но эт надо на экзамен.
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 27-01-2007 17:56 » 

Сигналы в винде отсутствуют - там свои механизмы.

Таки что надо совственно?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
J7
Гость
« Ответ #6 : 27-01-2007 17:57 » 

всмысле??? и что их использование не реально?
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 27-01-2007 17:59 » 

В винде - нет.

В винде используются очереди сообщений.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
J7
Гость
« Ответ #8 : 27-01-2007 18:01 » 

но в консоле должно ведь заработать...
Записан
J7
Гость
« Ответ #9 : 27-01-2007 18:04 » 

а собственно надо принцип работы и маленький примерчик, если не затруднит...
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 27-01-2007 18:12 » 

J7, уж не думаешь ли ты, что Unix - это типа DOS-а? Ага
Консоль или GUI - все равно в винде это приложение win32 и механизмы для них одни. Просто в одном случае создана консоль, в другом - окно (а может не быть ни того, ни другого).


В Unix (точнее в POSIX-совместимых ОС) есть механизм информирования процесса называемый сигналами.
Сигналы может посылать сама ОС или другие процессы (см kill() ).
Сигналы можно игнорировать, установить свой обработчик или оставить обработчик по умолчанию (он приводит к завершению процесса). Установка обработки сигнала делается ф-ией signal() (еще есть и другие, расширенные возможности).

Еще раз привожу ссылку на мануал: http://angel.cs.msu.su/cgi-bin/man/man2html?signal+2
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
J7
Гость
« Ответ #11 : 27-01-2007 18:18 » new

с Unix'ом не сталкивался, поэтому ничего не думаю и сказат по этому поводу не могу!!! В универе он так же не стоит. а если попадется на экзамене писать придется Улыбаюсь)
спасибо за разъяснения!!!
« Последнее редактирование: 15-12-2007 20:30 от Алексей1153++ » Записан
Olej
Гость
« Ответ #12 : 28-01-2007 11:08 » 

с Unix'ом не сталкивался, поэтому ничего не думаю и сказат по этому поводу не могу!!!
А напрасно Ага
Потому как ... это не имеет отношения к теме, но имеет к "университету" - когда ~1-1.5 года назад из Харьковского Технического Университетеа (кажется так теперь называется Ага Харьковский политехнический, который 1 из старейших технических ВУЗов Российской Империи и назывался тогда Технологический) - так вот когда оттуда отправили студентов на стажировку в Европу по обмену ... отобрали лучших, старались ... а потом оттуда сказали: "а кого это вы нам чёрт знает кого прислали?" - то выяснилось, что это "недоразумение" Ага - поскольку в европейском университете компьютеров кроме как с разнообразными UNIX не стояло. Так что - поинтересуйтесь.

Теперь по делу:
В универе он так же не стоит. а если попадется на экзамене писать придется Улыбаюсь)
спасибо за разъяснения!!!
1. в Windows сигналов не было, нет, и никогда не будет ... когда утверждают что "там всё по другому" - то это очень мягко - деликатничают Ага, правильно утверждать: там всё через жопу Ага...
2. по сигналам и в UNIX мало описано - есть старые (30-ти лет) механизхмы работы с сигналами (которые называют "нестабильные") - они хорошо описаны, а вот о всём, что пришло в дополнение ("стабильная" техника, сигнальные маски, сигналы в потоках, сигналы реального времени...) - почти не найдёте описаний;
3. можете посмотреть здесь:
http://www.books.ru/shop/books/357604
4. ... но поскольку я почти уверен Ага , что в книжке вы ковыряться не станете - то можете посмотреть здесь:
http://qnxclub.net/files/articles/pthread/pthread.pdf
- это очень давняя редакция текста, но, как помниться, там кое-что есть ... для начала.

P.S. дописано позже: и ещё - сигналы никоим образом не имеют отношения к "исключениям", как сказано в названии темы - таковыми они рассматривались в UNIX лет 30 назад, да и то с оговорками - на сегодня это 1 из механизмов межпроцессного взаимодействия, но никак не исключения.
« Последнее редактирование: 15-12-2007 20:31 от Алексей1153++ » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #13 : 28-01-2007 14:15 » 

Если под винду и в С++, то скорее всего он имеет виду исключения, а не сигналы. Как правило под консоль не программируют с использованием очереди сообшений. Хотя никто не запрешает этого делать.
Если исключения: береш нормальный учебник по С++ и читаеш главу "Исключения".
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #14 : 29-01-2007 05:51 » 

RXL, винда POSIX система
вот ссылка по сигнала под винду.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_CRT_signal.asp
Записан

Странно всё это....
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 29-01-2007 07:19 » 

LogRus, нет, винда - не POSIX и ты меня в этом не убедишь Улыбаюсь

Но есть надстройка для ядра  - подсистема POSIX. В штатной поставке, как объявлено, она будет только в одной из топовых версий Vista, а для XP она доступна на сервере M$.
Сам я не пользовался этим, но с пол года назад мне присылали ссылки на материалы и писал свидетель, который собственными руками установил эту подсистему и набор GNU-утилит, собранных под нее.
Ссылок пока найти не смог - при случае закину.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #16 : 29-01-2007 07:56 » 

http://phorum.key.ru/viewtopic.php?t=43098

Цитата
Subsystem for UNIX-based Applications (Подсистема для приложений UNIX)

Subsystem for UNIX-based Applications (SUA, Подсистема для приложений UNIX) - это совместимая на уровне исходного кода подсистема для компиляции и запуска различных приложений UNIX на компьютере, работающем под управлением операционной системой класса Windows Server. Приложения UNIX могут полноценно взаимодействовать с Windows через SUA при внесении незначительных изменений в исходный код или вообще без таковых.

Subsystem for UNIX-based Applications (SUA) предоставляет операционную систему для процессов Portable Operating System Interface (POSIX, Интерфейс Переносимой Операционной Системы). SUA вместе с пакетом утилит поддержки (таких как оболочки и клиент telnet) обеспечивают полноценную среду UNIX. Данный пакет включает исчерпывающий набор утилит сценариев и комплект для разработчика программного обеспечения (SDK), предназначенный для полной поддержки функций SUA.

SUA также поддерживает чувствительные к регистру символов имена, управление заданиями, инструменты компиляции и выполнение более 300 команд UNIX, утилит и сценариев оболочки. Поскольку данная подсистема устанавливается отдельно от ядра Windows, она предоставляет полную функциональность UNIX безо всякой эмуляции.

Новые функции в данном выпуске включают:

    * Подключение к библиотекам баз данных (OCI/ODBC). SUA поддерживает работу приложений с Oracle и SQL Server в соответствии со стандартами Oracle Call Interface (OCI, Интерфейс вызовов Oracle) и Open Database Connectivity (ODBC, Открытый интерфейс взаимодействия с базами данных).
    * Расширения отладчика Microsoft® Visual Studio® для отладки приложений POSIX. SUA поддерживает отладку процессов POSIX в интегрированной среде разработки (IDE) Visual Studio.
    * Утилиты для сред SVR-5 и BSD UNIX. Загружаемый комплект SUA включает пакеты, поддерживающие две различных среды UNIX: SVR-5 и BSD.
    * Поддержка 64-битных приложений. Используя процедуру под названием переключение (thunking), SUA по умолчанию поддерживает на 64-битных операционных системах работу не только 64-битных, но и 32-битных приложений.

В общем, это фишка зовется SUA - улучшенная поддержка POSIX.

Замечу, что для win32 приложений это не доступно. Учитывая то, что родным для винды остается win32, то винду по прежнему нельзя назвать POSIX-совместимой - совместимость есть лишь для POSIX приложений (как я понимаю, утировано, в заголовке исполняемого файлы долны быть нужные галочки проставлены).
« Последнее редактирование: 29-01-2007 08:15 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #17 : 29-01-2007 13:39 » 

RXL, просто когдато какой-то рекламный плакат видел что винда POSIX система Улыбаюсь правда это было WinNT Улыбаюсь

Ладно не суть. в общем есть сигналы в винде Улыбаюсь
Записан

Странно всё это....
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 29-01-2007 14:39 » 

LogRus, так вроде w2k, XP, 2003 и Vista - линейка NT.

Поиск говорит, что подсистема POSIX существует достаточно давно, но он же сообщает лишь о глюках в ней.
SUA должно сделать подсистему годной к практическому использованию.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #19 : 29-01-2007 18:41 » 

RXL, тебе видней Улыбаюсь

кажется у нас в коде есть немного кода работующего с сигналами под виндой, надо будет глянуть
Записан

Странно всё это....
J7
Гость
« Ответ #20 : 30-01-2007 19:47 » 

Olej, спасибо за ссылку!!! эт оно и есть. разобрался, правда, по другому источнику... а экзамен сегодня сдал.
Записан
zubr
Гость
« Ответ #21 : 31-01-2007 05:00 » 

Цитата
Изначально Windows NT поставлялась с тремя подсистемами окружения: Windows, Posix и OS/2. Последняя была изъята в Windows 2000. Что касается Windows XP, то в ней исходно поставляется только подсистема Windows - улучшенная подсистема Posix доступна как часть бесплатного продукта Services for Unix.
Это цитата из книги Руссиновича и Соломона "Внутреннее устройство Windows".
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines