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

Насколько я знаю мультисенсорную поддержку и другую сенсорную панель, определенные функции устройства ввода данных на Linux только работают над USB, не PS2.

Сенсорными панелями в самых новых ноутбуках является USB, но часто BIOS имеет режим эмулятора для представления устройства как PS2 для совместимости с более старыми Ose. Необходимо просмотреть BIOS и выключить что-либо, чтобы сделать с эмуляцией устройств PS2. Возможности состоят в том, когда Вы загрузитесь с сенсорной панелью, обнаруживающейся как USB-устройство, Linux выяснит то, что это, и дайте Вам некоторые функции его.

1
26.11.2018, 01:28
1 ответ

Да, конечно. Из статьи Wikipedia о библиотеках:

Общая библиотека или общий объект являются файлом, который предназначается, чтобы быть совместно использованным исполняемыми файлами и дальнейшими файлами общих объектов

Другими словами, целая причина, их называют "общими", состоит в том, потому что больше чем один исполняемый файл использует их.

Из документов для RTLD_LOCAL:

Символы, определенные в этой библиотеке, не сделаны доступными для разрешения ссылок во впоследствии загруженных библиотеках.

RTLD_LOCAL флаг к dlopen() просто указывает на это когда A1 загрузки lib1, если это определяет, скажем, функцию f1(), и затем A1 загрузки lib2, это не может использовать f1() от lib1, потому что это было загружено локальное.

3
27.01.2020, 23:29

Теги

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