Re: Можно ли сделать переключение контекста библиотеки в пределах процесса?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 16.11.20 04:52
Оценка:
Здравствуйте, alexraynepe196, Вы писали:

A>3) в текущей реализации загружается библиотека, а для каждого экземпляра хранится копия области данных используемая библиотекой. Исполняемый код остается общим. Для выполнения кода над конкретным экземпляром — область данных библиотеки перезаписывается из контейнера экземпляра.


Библиотека чужая? Перекомпилировать с отвязкой от глобальных данных — никак?
А то постановка вопроса выглядит совершенно дикой, потому что привычно, что есть объект "контекст" (как бы он ни назывался), из которого ссылки на все данные.

A>Единственное решение обойти это место, я пока нашел — скопировать файл библиотеки в несколько независимых, и загружать эти библиотеки как независимые, получится одна библиотека/одоно устройство.


Они не дерутся за одноимённые экспортируемые имена?

A>MMU современных процессоров с другой стороны просто предназначено для решения подобных задач — достаточно создать несколько сегментов данных — по одному на каждое устройство, и переключать эти сегменты при исполнении одного общего сегмента кода. Но как это сделать реально?


Звать mmap() на такое будет явно ещё дороже.

Зачем такие извращения вообще были нужны?
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.