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

Подскажите, пожалуйста. Я так понимаю после dlclose (линукс) не обязательно

будет выгружена шаред либа. А есть какие-нибудь системные вызовы чтобы почистить память с выгружеными либами?

4 ответов

16 просмотров

Для чего это может понадобиться?

Тимофей- Автор вопроса
Dmitriy [Отпуск]
Для чего это может понадобиться?

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

Тимофей
У меня есть либа в которой есть инициализациях и д...

а как открывается? в мане же для этого флаг описан RTLD_NODELETE (since glibc 2.2) Do not unload the shared object during dlclose(). Consequently, the object's static and global variables are not reinitialized if the object is reloaded with dlopen() at a later time.

Тимофей- Автор вопроса
Stas
а как открывается? в мане же для этого флаг описан...

Открываю с флагами RTLD_LAZY | RTLD_GLOBAL. А так сделать не получится там все сложно вот эта библиотека с инициализацией — зависимость двух бибилитоек которые через dlopen открываются

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

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

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
5
Карта сайта