170 похожих чатов

А знает кто, исключения же это эксклюзивная структура для модуля? Тоесть

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

28 ответов

16 просмотров

Как подключается?

Что значит "к приложению подключается либа" ?

Что такое модуль? Либа определяет исключения, которые она кидает, и конечно их можно ловить из основного приложения

Ридиска-Редисковна Автор вопроса
ORTO
Как подключается?

Я не знаю как на линуксе, но вот в шинде ты вызвал LoadLibraryA, нашёл функцию там, вызвал её,а там произошло исключение

Ридиска-Редисковна Автор вопроса
ORTO
> винапи Гугли SEH

Я знаю что это, просто интересно за крестовые механизмы

Вопрос не ясен

Ридиска Редисковна
Я не знаю как на линуксе, но вот в шинде ты вызвал...

Я так понимаю эта функция позволяет подключить либу в рантайме, все-таки более частый и классический способ - подключение в компайлтайме, когда у тебя появлется новый хедер.h со всеми определениями (в т.ч. исключениями), и отдельно либа линкуется в линковщике по правилам, описанным в твоей билд-системе

Ридиска-Редисковна Автор вопроса
Ilya Zviagin
Вопрос не ясен

Я буквально как проснулся сразу это написал, щаща

Если библиотека кидает исключение, приложение может его поймать

Ридиска-Редисковна Автор вопроса
Vladimir
Я так понимаю эта функция позволяет подключить либ...

Ну в моём случае там динамическая херня. Грубо говоря(это не так) Есть игра и она грузит моды через динамик либы Собственное если в лице вбросится исключение, упадёт ли она, хзхз

Ilya Zviagin
Если библиотека кидает исключение, приложение може...

Я так понимаю что проблема в том, что через LoadLibraryA ты не знаешь что ловить

Ридиска-Редисковна Автор вопроса

Вроде можно же написать что-то типо catch(...), но как такое работать будет. Хах Крч надо самому проверять

Vladimir
Я так понимаю что проблема в том, что через LoadLi...

И это не так, что ты не знаешь что ловить . Можешь и знать

Ilya Zviagin
Лови всё...

Звучит как говно какое-то, но как правильно сделать динамическую прогрузку кода из игры я не знаю, слишком много зависит от архитектуры этой игры, что за игры, ты ли ее делаешь или копаешься в готовом, и тп

Ридиска Редисковна
Ну в моём случае там динамическая херня. Грубо гов...

Самое правильно - исключения и другие ошибки сквозь границу либы не пропускать. Если либа кривая, то отлавливай от нее всё, до всех уровней глубины.

Ilya Zviagin
И это не так, что ты не знаешь что ловить . Можешь...

Да, можешь и знать, но автору нужно уже самому искать как эту инфу находить

Vladimir
Звучит как говно какое-то, но как правильно сделат...

Так же как статическую, с т.з. исключений ничего не меняется

Ilya Zviagin
Так же как статическую, с т.з. исключений ничего н...

Но в динамике функция просто грузит в адресное пространство код либы, как оттуда вычленять определения - я лично хз

Ilya Zviagin
Это расхожее заблуждение

Может и заблуждение, не заблуждающиеся потом месяцами ловят растрелы своей памяти из либ и всякие другие приколы.

Vladimir
Но в динамике функция просто грузит в адресное про...

Никак. Но это может быть написано в документации. Собственно, как и при обычной линковке

Ридиска Редисковна
Вроде можно же написать что-то типо catch(...), но...

Пусть авторы этих модов к этой игре дадут тебе инструкцию как этим пользоваться

Ilya Zviagin
Никак. Но это может быть написано в документации. ...

Если память не изменяет, то часто в обрамлении экпортируемого всё это есть и из него можно получить нужное.

Ридиска-Редисковна Автор вопроса
Ilya Zviagin
Никак. Но это может быть написано в документации. ...

Да, у меня для такого стандарты есть. Мол хочешь нормальную инфу, кидается опр исключения с опр структурой. А всё остальное в помойку

Ридиска Редисковна
Да, у меня для такого стандарты есть. Мол хочешь н...

Ну значит кури свои стандарты спрашивай коллег. Но в целом подход этот немного пованивает

Ридиска-Редисковна Автор вопроса
Vladimir
Ну значит кури свои стандарты спрашивай коллег. Но...

Я раньше микросхемы проектировал, так как-то легче думать. Напилил стандартов под все случаи, а дальше только через них и дёргаешь всё.

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
а чем лучше всего сделать глобальный лок, если много нодов, до сотни? ну то есть мне надо, чтобы некоторые операции с объектом не происходили одновременно. перемещение между н...
Д. П.
15
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Hi guys, I'm looking for a good LLM course. Is there any course to learn LLMs in advanced? I'm aiming to use them in my apps, so a perfect course in my openion, is not only a ...
Taha
14
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Карта сайта