LINUX.ORG.RU

Подгрузка функций во время выполнения программы

 , ,


0

3

Hi All! Сейчас пишу маленькое приложение для Linux, хотелось бы сделать его легко расширяемым. Так вот, возможно подключить библиотеку во время выполнения программы и использовать из функций из нее? Да, чуть не забыл пишу на С++.



Последнее исправление: MrLinch (всего исправлений: 1)

Ответ на: комментарий от quiet_readonly

Если есть две строки, одна с именем библиотеки, вторая с именем функций, то возможно выполнить эту функцию?

MrLinch
() автор топика
Ответ на: комментарий от MrLinch

да

handle = dlopen(<либа>, <флаг(и)>);
func = dlsym(handle, "mega_func");
ret = (*func)(bla, bla, bla);
dlclose(handle);

metawishmaster ★★★★★
()
Последнее исправление: metawishmaster (всего исправлений: 1)

Лучше используй готовый фреймворк для плагинов

annulen ★★★★★
()
Ответ на: комментарий от nanoolinux

На линуксе такие проблемы есть только ЕМНИП у Sun Studio, все остальные используют манглинг из Itanium ABI

annulen ★★★★★
()
Ответ на: комментарий от annulen

Мангленые имена тоже можно использовать :)

Если знать компилятор, а иногда и его версию.

andreyu ★★★★★
()
Ответ на: комментарий от nanoolinux

правила именования в стандарте не описаны. так что тот, кто полагается на itanium ABI - ссзб.

Плюсую. Рад, что на ЛОРе остались адекватные люди.

andreyu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.