rain Опубликовано 20 февраля, 2009 Жалоба Опубликовано 20 февраля, 2009 Интересуют возможности по загрузке/выгрузке динамических библиотек во время выполнения. У сервера есть подключаемые службы. Каждая служба в своей динамической библиотеке. При работе во время выполнения загружаются необходимые библиотеки, создаются объекты служб (по одному на библиотеку). В библиотеках есть синглтоны (общие данные), от них не избавиться. Хочется иметь возможность на лету заменять функциональность библиотек. Т.е. отправлять на сервер новую версию библиотеки и делать "подмену". Но тут есть два варианта. 1. Сначала полностью выгружать старую версию, потом загружать новую. 2. Сначала загружать новую, делать "быструю подмену", потом выгружать старую. Второй вариант естественно намного более предпочтителен, т.к. имеет намного меньшую задержку в работе. Я ещё не пробовал, интересно будет ли работать. Я предполагаю, что первый вариант работать будет, а вот со вторым возникнут проблемы из-за общих данных. Также хочется загрузить два объекта одной и той-же службы, но чтобы общие данные у каждой службы били свои. Тут что-нибудь можно сделать? Может можно загрузить две библиотеки? Делать можно всё что угодно, вносить изменения в код, переименовывать файлы библиотек и т.п. Если есть литература, буду благодарен. Цитата
rain Опубликовано 21 февраля, 2009 Автор Жалоба Опубликовано 21 февраля, 2009 Если окружить всю библиотеку полностью в безымянное пространство имен, кроме одной внешней функции, общие данные не будут больше перекрываться? Что можно про безымянный namespace в динамической библиотеке сказать? Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.