у тебя есть приложение и к нему подключается либа, если либа вкинет исключение, сможет ли приложение его поймать?
Как подключается?
Что значит "к приложению подключается либа" ?
Что такое модуль? Либа определяет исключения, которые она кидает, и конечно их можно ловить из основного приложения
Я не знаю как на линуксе, но вот в шинде ты вызвал LoadLibraryA, нашёл функцию там, вызвал её,а там произошло исключение
> винапи Гугли SEH
Я знаю что это, просто интересно за крестовые механизмы
Вопрос не ясен
Я так понимаю эта функция позволяет подключить либу в рантайме, все-таки более частый и классический способ - подключение в компайлтайме, когда у тебя появлется новый хедер.h со всеми определениями (в т.ч. исключениями), и отдельно либа линкуется в линковщике по правилам, описанным в твоей билд-системе
Я буквально как проснулся сразу это написал, щаща
Если библиотека кидает исключение, приложение может его поймать
Ну в моём случае там динамическая херня. Грубо говоря(это не так) Есть игра и она грузит моды через динамик либы Собственное если в лице вбросится исключение, упадёт ли она, хзхз
Я так понимаю что проблема в том, что через LoadLibraryA ты не знаешь что ловить
Вроде можно же написать что-то типо catch(...), но как такое работать будет. Хах Крч надо самому проверять
И это не так, что ты не знаешь что ловить . Можешь и знать
Звучит как говно какое-то, но как правильно сделать динамическую прогрузку кода из игры я не знаю, слишком много зависит от архитектуры этой игры, что за игры, ты ли ее делаешь или копаешься в готовом, и тп
Самое правильно - исключения и другие ошибки сквозь границу либы не пропускать. Если либа кривая, то отлавливай от нее всё, до всех уровней глубины.
Да, можешь и знать, но автору нужно уже самому искать как эту инфу находить
Так же как статическую, с т.з. исключений ничего не меняется
Это расхожее заблуждение
Но в динамике функция просто грузит в адресное пространство код либы, как оттуда вычленять определения - я лично хз
Может и заблуждение, не заблуждающиеся потом месяцами ловят растрелы своей памяти из либ и всякие другие приколы.
Никак. Но это может быть написано в документации. Собственно, как и при обычной линковке
Пусть авторы этих модов к этой игре дадут тебе инструкцию как этим пользоваться
Если память не изменяет, то часто в обрамлении экпортируемого всё это есть и из него можно получить нужное.
Да, у меня для такого стандарты есть. Мол хочешь нормальную инфу, кидается опр исключения с опр структурой. А всё остальное в помойку
Ну значит кури свои стандарты спрашивай коллег. Но в целом подход этот немного пованивает
Я раньше микросхемы проектировал, так как-то легче думать. Напилил стандартов под все случаи, а дальше только через них и дёргаешь всё.
Обсуждают сегодня