Флейм
GameDev.ru / Флейм / Форум / Архитектура без исключений (C++) (6 стр)

Архитектура без исключений (C++) (6 стр)

Поделиться
Страницы: 1 2 3 4 5 6 7 Следующая »
ZefickПостоялецwww7 дек. 201720:04#75
1 frag / 2 deaths
> Платить приходится, когда какой-то достижимый, но нафиг не нужный объект держит
> в видеопамяти массив на пару гигов.
  Даже с теми средствами профилирования, которые идут в поставке с обычной JDK это отлавливается и исправляется за пятнадцать минут. И это ещё далеко не последнее чудо современной техники.
beejahПостоялецwww7 дек. 201720:29#76
Zefick
Ни хера это за 15 минут не отлавливается. "теми средствами профилирования" - вообще никак.
Но ты такое, конечно же, никогда в своей жизни не видел и вряд ли вообще увидишь, если продолжишь кодить под платформы с десятками гигабайт памяти.
МизраэльПостоялецwww8 дек. 20171:51#77
Zefick
> Таких только жизнь заставит измениться, а до тех пор они не собираются что-то
> понимать даже если им нормально объяснить.
а ты не задумывался никогда, что может это ты нуб, а народ вокруг малость по опытнее? может это ты ничего не понимаешь и страдаешь максимализмом именно ты?
я ни в коем случае не пытаюсь тебя оскорбить или как-то унизить, мне просто интересно задавал ли ты себе когда-нибудь такие вопросы? Я постоянно задаю.
Если исключения в плюсах "must use", то все, кто их не использует лошары и нубы?
А ведь я задал вполне конкретный вопрос, как мне прокинуть исключение за пределы плюсового рантайма? Да даже просто как мне исключение прокидывать между DLL, которые на тех же плюсах написаны? Ответь себе какой процент плюсового софта написан в виде единого exe-файла, внутри которого только и могут летать исключения?
Мне видится, что ответ будет что-то около 0,001% и процент этот с каждым днём всё меньше и меньше. Выходит почти все 100% плюсовых программистов лошары, одному Zefick практика показала "что удобство от использования исключений с лихвой покрывает любые возможные пенальти"?
Можно узнать о твоих проектах, где у тебя вся обработка ошибок на исключениях построена? Чего жаться, давай как мужики на стол проекты вывалим да померим линейкой? :D
Ржу я с вас, ещё других максималистами обзываете.

Не, я понимаю, когда твоя основная среда разработки на исключениях построена, типа .net или java. И ты подключая какой-то сторонний код, типа нативных DLL или COM, даже обёрточки с исключениями реализуешь, чтобы всё было по феншую. Но говорить за исключения в плюсах, которые компилируются в нативный код, не позволяющий кидать наружу исключения?? Зачем? Твой код банально становится невозможно повторно заюзать, кроме как при поставке в исходниках, т.е. в реальном мире (не в грёбаном опенсорсе) код вообще бесполезен будет, либо вокруг него придётся писать враппер, переводящий исключения в коды ошибок.

BUzerУчастникwww8 дек. 20175:38#78
return [](){};
> Он проходит по всему стеку вызовов и ему известны адреса функций, никто не
> мешает сохранить их и потом разрезовить в имена, кроме крестокомитета конечно
А также оптимизатора, который может выкинуть часть этих функций.

Мизраэль
> А можешь привести пример, где исключение летает между модулями на разных языка?
Ну я при помощи std::exception_ptr прокидывал исключения через оконную процедуру и виндовый мессадж луп.

ZefickПостоялецwww8 дек. 20179:04#79
Мизраэль
> а ты не задумывался никогда, что может это ты нуб, а народ вокруг малость по опытнее?
  Даже если и задумывался, то образы war_zes-а и Panzerschrek-а сразу возвращали мысли в нормальное русло и заставляли сказать себе "да не, бред какой-то".
Panzerschrek[CN]Участникwww8 дек. 20179:25#80
Zefick
> > а ты не задумывался никогда, что может это ты нуб, а народ вокруг малость по
> > опытнее?
> Даже если и задумывался, то образы war_zes-а и Panzerschrek-а сразу
> возвращали мысли в нормальное русло и заставляли сказать себе "да не, бред
> какой-то".
+ Показать
innuendoПостоялецwww8 дек. 201711:21#81
Panzerschrek[CN]
> А вот кресты используют там, где не совсем пофигу, и в этом случае исключения
> кое-где только мешают.

Можно услышать % тех случаев, где мешают ?

Ghost2Постоялецwww8 дек. 201712:02#82
innuendo

13.7%

Panzerschrek[CN]Участникwww8 дек. 201712:07#83
innuendo
> Можно услышать % тех случаев, где мешают ?
Ядра ОС, браузеры, высокочастотная торговля, любое приложение, использующее быстрые контейнеры и т. д.
Вообще, процент высок, т. к. если используют кресты, то очевидно, что жабошарпов и питоножабоскриптов уже не достаточно.
ZefickПостоялецwww8 дек. 201712:24#84
Panzerschrek[CN]
> Ядра ОС
  Угадай почему в любом распространённом ядре ОС обязательно реализована своя система исключений.
Ghost2Постоялецwww8 дек. 201712:42#85
Zefick

> любом распространённом ядре ОС обязательно реализована своя система исключений
Исключения используются для обмена сообщениями с юзерспейсом. Сильно сомневаюсь, что они реально используются внутри ядра.

9К720Забаненwww8 дек. 201712:51#86
Мизраэль
> А ведь я задал вполне конкретный вопрос, как мне прокинуть исключение за
> пределы плюсового рантайма? Да даже просто как мне исключение прокидывать между
> DLL, которые на тех же плюсах написаны? Ответь себе какой процент плюсового
> софта написан в виде единого exe-файла, внутри которого только и могут летать
> исключения?
да, крестобиблиотеки сделаны через жопу, и dll на крестах не интероперабельны не только между другими языками, но и между собой. С чего ты решил, что это означает что исключения неудобны? Тебе не приходила мысль, что это проблема крестов, а не исключений?
innuendoПостоялецwww8 дек. 201712:55#87
Ghost2
> Исключения используются для обмена сообщениями с юзерспейсом.

это которые CPU, а не из C++

innuendoПостоялецwww8 дек. 201712:57#88
Panzerschrek[CN]
> любое приложение, использующее быстрые контейнеры и т. д.

помню для одного игрового проекта PC специально сравнивал скорость билдов с исключениями и без, разница на глаз не видна. Хотя на конзолях будет значительная думаю

return [](){};Участникwww8 дек. 201713:09#89
Вот не надо только тут про длл, нормально между ними исключения прокидываются, надо только собирать одним компилятором и использовать динамический рантайм.

Правка: 8 дек. 2017 13:10

Страницы: 1 2 3 4 5 6 7 Следующая »

/ Форум / Флейм / Программирование

2001—2017 © GameDev.ru — Разработка игр