У меня есть сервер и клиент, написанный на C. Я пытаюсь загрузить общую библиотеку на сервере, а затем передать клиенту указатели на библиотеку. Таким образом, я могу изменить библиотеку, не компилируя ее.Можно ли загружать общую библиотеку в общую память?
Из-за того, что каждый процесс имеет свое собственное пространство памяти, мне интересно, можно ли загружать общую библиотеку в разделяемую память, передавать указатели на функции и сопоставлять общую память на клиенте, а затем заставлять клиента выполнять код библиотеки, загруженной сервером.
Сервер и клиент работают на одной машине? – crazyscot
Да, сервер и клиент работают на одном компьютере. Сервер читает xml-файл и возвращает имена функций библиотеки в зависимости от запроса xml. Клиент читает имена функций и пытается получить указатели на библиотечные функции для их выполнения. – quimm2003
Я не хочу связывать библиотеку с клиентом, потому что я хочу иметь возможность изменять функциональность без необходимости компиляции клиента. И я не хочу (если возможно) dlopen библиотеки на клиенте, потому что клиент будет вызываться много раз. – quimm2003