powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / деструктор... catch...
12 сообщений из 37, страница 2 из 2
деструктор... catch...
    #38309329
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl,

Почему не будет работать? В винде есть и сигналы, Ms их поддерживает. Только ими никто почти не пользуется.
...
Рейтинг: 0 / 0
деструктор... catch...
    #38309385
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКстати если вспомнить какие-нибудь Dec (см эвм) или IBM (ес эвм), там ни
исключений, ни сигналов вообще не было, если я не ошибаюсь. Если что — сразу с копыт и в
мусорку, никаких разговоров.
За IBM не скажу, в DEC PDP/LSI возникало аппаратное прерывание не помню с каким номером и
его можно было обработать как в голову взбредёт. Тогда ещё не было самой идеи stack frame
и исключений.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
деструктор... catch...
    #38309410
Anatoly MoskovskyWhite OwlНу объясните, в чем же эта сакральная суть?
В UB надобности вообще никогда нет
UB нужны для того чтобы дать компилятору возможность более эффективно реализовать остальной язык, те части, где нет UB.
Эффективность - это вообще основная причина, по которой С и С++ до сих пор живы.
А это вы про какой UB в данном контексте, Undefined Behavior или Unspecific Behavior?
...
Рейтинг: 0 / 0
деструктор... catch...
    #38309588
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Undefined Behavior или Unspecifi,

оба
...
Рейтинг: 0 / 0
деструктор... catch...
    #38309636
Anatoly MoskovskyUndefined Behavior или Unspecifi,

оба
Про Unspecific Behavior согласен.

Про Undefined Behavior - это ситуация всегда ошибочная, исключительная и тут уже не до эффективности. Уж по крайней мере унифицированный интерфейс к этим SEH/Signals могли бы приделать, если не в стандарте, то в boost для Win/*nix. В том же boost много чего не совсем эффективно сделано, но сделано. Хочешь - используй, не хочешь - не используй. А так каждый свой велосипед изобретает.
...
Рейтинг: 0 / 0
деструктор... catch...
    #38309689
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оптимизируется не сам UB, а остальные случаи.

Поясню на примере.

Например разыменование NULL-указателя - это undefined behavior.
Если бы язык описывал, что нужно сделать в этом случае, то на процессорах, где нет защиты памяти, перед каждым доступом по указателю пришлось бы проверять указатель на 0.
Это дополнительный оверхед, при том что в корректной программе 0-указатель и так не должен разыменовываться.
Поэтому в стандарте это UB, чтобы компилятор не должен был проверять указатели перед обращением.
unspecified behavior - это тоже самое, только вид в профиль (результат также непереносим).

Буст тут вообще не причем.
...
Рейтинг: 0 / 0
деструктор... catch...
    #38310102
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivКстати если вспомнить какие-нибудь Dec (см эвм) или IBM (ес эвм), там ни исключений, ни сигналов вообще не было, если я не ошибаюсь. Если что — сразу с копыт и в мусорку, никаких разговоров.Да, страшное наследие B и PDP.
Там не было возможности перехватывать системные исключения.... а сейчас "отлито из бронзы, руками не трогать".
...
Рейтинг: 0 / 0
деструктор... catch...
    #38311152
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovMasterZivКстати если вспомнить какие-нибудь Dec (см эвм) или IBM (ес эвм), там ни
исключений, ни сигналов вообще не было, если я не ошибаюсь. Если что — сразу с копыт и в
мусорку, никаких разговоров.
За IBM не скажу, в DEC PDP/LSI возникало аппаратное прерывание не помню с каким номером и
его можно было обработать как в голову взбредёт. Тогда ещё не было самой идеи stack frame
и исключений.


Ну и как это выглядело на С++ или С ?
:-)
...
Рейтинг: 0 / 0
деструктор... catch...
    #38311159
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНу и как это выглядело на С++ или С ?
:-)
Что "это"? Установка обработчика прерывания? Не помню. Если не было системной функции,
всегда можно было написать свою на ассемблере.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
деструктор... catch...
    #38311213
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovMasterZivНу и как это выглядело на С++ или С ?
:-)
Что "это"? Установка обработчика прерывания? Не помню. Если не было системной функции,
всегда можно было написать свою на ассемблере.


Я тебе намекаю на то, что это всё всегда было вне языка, вне рамок языковых средств.
Поэтому как бы запихать это всё в язык достаточно сложно.
...
Рейтинг: 0 / 0
деструктор... catch...
    #38311222
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЯ тебе намекаю на то, что это всё всегда было вне языка, вне рамок
языковых средств.
Поэтому как бы запихать это всё в язык достаточно сложно.
Ну, в паскаль же в своё время запихали. А С - изначально был минималистическим языком, в
котором 20 или 30 базовых конструкций расширялись в любую сторону наборами библиотек.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
деструктор... catch...
    #38311225
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovMasterZivЯ тебе намекаю на то, что это всё всегда было вне языка, вне рамок
языковых средств.
Поэтому как бы запихать это всё в язык достаточно сложно.
Ну, в паскаль же в своё время запихали. А С - изначально был минималистическим языком, в
котором 20 или 30 базовых конструкций расширялись в любую сторону наборами библиотек.


Что запихали в паскаль?

Потом, извини, в паскаль можно запихать что угодно. Переносимости нет, стандарта нет, каждый сам себе на дуде игрок -- пихай не хочу...
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / деструктор... catch...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]